Freut mich das ich auch ein bischen helfen konnte.
Beiträge von fraeggle
-
-
Also ich nutze das Image Asterisk/freepbx. Bei mir sind aber keine Fehlermeldungen im Log. Ich tendiere auch etwas zu der Aussage von pula001,das vlt das Netzwerk beim Start noch nicht verfügbar ist. Aber übertackten tust du nicht???
-
Hallo Andreas.
Hast du den Asterisk auf dem gleichen PI wie das DOORPI???
Ich habe mir den RASPBX mal zum testen auf eine Karte gebrannt und mit meiner Telefonanlage verbunden. Da hab ich nach einem Neustart nie probleme gehabt. ich befürchte eher, das sich deine Clients zu "früh" versuchen mit dem Asterisk zu verbinden. wenn sich die Clients nicht registrieren können erhöht sich kurzzeitig die Zeit bis zu einem neuen Versuch.Gruß Peter
-
Hallo Markus.
Deine untere Schaltung ist in etwa so wie ich meine Relais schalte, nur das ich von der Basis zum Emitter einen Wirderstand mit ca.2kOhm
gegen Masse lege um den Transistor auf alle Fälle mit deinem Definierten Zustand habe solange der PI nicht "ganz" hochgelaufen ist. Schaltet dann dein GPIO Port auf High reichen auch die 3,3Volt in diesem Fall völlig aus, da zwischen Emitter und Masse des Transistors ebenfalls kein Widerstand ist. Zwischen Basis und Emitter, (welcher ja gleich 0 ist da gleich Masse), reichen die 3,3Volt wie du siehst Dicke aus.Ich schalte mit dieser "Basisschaltung" wie gesagt meinen Türöffner und das Garagentor. Mit einem PNP hättest du dagegen immer das Problem, das du den nie richtig gesperrt bekommst da deine GPIO nur 3,3 Volt rausgeben.
Aber bitte auf jeden Fall die Diode parallelzur Spule nicht vergessen.
Solltest du noch fragen haben immer wieder gerne.Gruß Peter
-
Also ich habe mit Erfolg einen RFID am Banana am laufen. Was ich aber noch gerne hätte, wäre ein Zeitgesteuerter Zugang für bestimmte RFID.
-
Falsch.
Als Elektroniker muss ich dir sagen, deine Schaltung funktioniert in diesem Fall wie es sein muss.
PNP wird bei High gesperrt und bei Low geschaltet. NPN funktioniert natürlich andersrum.( Basis zum Emitter sollte zum durchschalten immer einen Unterschied von mindestens 0,7 Volt haben).
In deinem obigen Beispiel schaltet der Transitor voll durch, wenn am GPIO 0,7 Volt weniger als deine 5 Volt anliegen. Deswegen schaltet der auch sofort durch. Ich persönlich arbeite immer lieber mit NPN Transistoren. -
Mittlerweile funktioniert auch RFID. Wobei da eigentlich zu beachten ist, das der benötigte UART bein J11 rauskommt und nicht bei der CON3.
Da durch das empfindliche Mikro onboard nicht beschreibbare Geraüsche entstanden, hab ich eine USB Soundkarte genommen. Den nachgeschalteten Verstärker (aus einem Pringles LAutsprecher :-)) ) lasse ich nur während des Rufes und Gespräches aktiv. Der LM4871 lässt sich über high/low ein/ausschalten.Folgende Änderungen für die USB Soundkarte sind notwendig:
sudo nano /etc/modprobe.d/alsa-base.conf
von
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
auf
#options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-1sudo nano /usr/share/alsa/alsa.conf
Die in alsa.conf enthaltenen Zeilen
defaults.ctl.card 0
defaults.pcm.card 0ersetzen durch
defaults.ctl.card 1
defaults.pcm.card 1speichern der Einstellungen:
sudo alsactl store
DOORPI:
von
playback_device ALSA: default device
capture_device ALSA: default deviceauf
playback_device ALSA: USB Audio Device
capture_device ALSA: USB Audio DeviceFalls jemand, so wie ich, RFID-Karten hat, bei denen keine Nummer draufsteht, sollte folgendes im großen weiten Netz gefundenes
behilflich sein:
einfach z.B. eine rfidtest.py erstellen und das folgende reinkopieren. Damit lässt sich auch gleich die Serielle Schnittstelle testen:import serial
import sys
import time
from operator import xor
# UART
ID = ""
Zeichen = 0
Checksumme = 0
Tag = 0
# Flags
Startflag = "\x02"
Endflag = "\x03"
# Open UART (close first just to make sure)
UART = serial.Serial("/dev/ttyS0", 9600) <----- Beim Banana PI so ändern, nsonsten ttyAMA0
UART.close()
UART.open()
while True:
# Reset vars
Checksumme = 0
Checksumme_Tag = 0
ID = ""
# Read chars
Zeichen = UART.read()
# Start of transmission signaled?
if Zeichen == Startflag:
# Build ID
for Counter in range(13):
Zeichen = UART.read()
ID = ID + str(Zeichen)
# Remove endflag from string
ID = ID.replace(Endflag, "" )
# Calc checksum
for I in range(0, 9, 2):
Checksumme = Checksumme ^ (((int(ID[I], 16)) << 4) + int(ID[I+1], 1$
Checksumme = hex(Checksumme)
# Find tag
Tag = ((int(ID[1], 16)) << + ((int(ID[2], 16)) << 4) + ((int(ID[3], $
Tag = hex(Tag)
# Print data
print "------------------------------------------"
print "Data: ", ID
print "Tag: ", Tag
print "ID: ", ID[4:10], " - ", int(ID[4:10], 16)
print "Checksum: ", Checksumme
print "------------------------------------------"Was jetzt auch noch nicht schlecht wäre:
Eine "Zeitgesteuerte" Zutrittberechtigung beim RFID.
Ich hoffe das hilft dem einen oder anderen.
-
Du Antwortest aber schneller als der Blitz...
Hab ich schon versucht. Mach ich das vorher, erkennt das PyPi Script die "niedrige" Version und deinstalliert diese. Nachträglich funktioniert aber auch nicht, da das System eine 6.XXX erkennt. Dann habe ich auch versucht nach der Doopi Installation RPi.GPIO zu deinstallieren und über den oben beschriebenen Weg zu installieren. Geht auch, nur meckert jetzt DoorPi das die Version kleiner als 5.11 ist und erkennt diese nicht an. In den Requirements des DoorPi steht auch diese ominöse RPi.GPIO>=5.11. Es wäre halt gut, wenn man diese Überprüfung vlt nicht gerade auf eine Version machen würde, sondern ob vorhanden oder nicht. Falls das geht....
-
Hallo Thomas.
Hab gerade versucht, über PyPi auf dem Banana Pi das DoorPi zu installieren. Zum Glück hab ich eine neue SD-Karte genommen. Die "alte" funktioniert wunderbar. Bekomme hoffentlich bald meinen RFID-Leser. Es klappt "Fast" alles wie beschrieben. Nur erwartet die Installationsroutine ein RPi.GPIO von >=5.11. Leider ist für den Banana nur 5.8 verfügbar. Kann man das im Installationssript des Doorpi
vielleicht anpassen??? Falls ja sag mir wo und ich teste esGruß Peter
-
Installation von DoorPI auf einem Banana PI:
Das Raspbian von lemarker.org installieren wie beschrieben.
Der ssh-Server läuft standardmäßig. Man kann sich putty o.Ä. anmelden mit user "bananapi" und Kennwort "bananapi".
Mit raspi-config locale und Tastatur-Layout setzen. Soundausgabe auf Analog setzen.
Den Standardbenutzer "bananapi" auf den Rasberry-Standardbenutzer pi ändern mit:
sudo adduser --no-create-home inter
sudo visudo
am Ende einfügen:
inter ALL=(ALL) NOPASSWD: ALLNeu anmelden mit User inter:
sudo usermod --move-home --login pi --home /home/pi bananapi
(ggf müssen laufende Processe des alten Users mit: kill XXXX PID vorher beendet werden)
Passwort ändern:
sudo passwd pisudo nano /etc/lightdm/lightdm.conf
bei Autologin den User bananapi durch pi ersetzen.sudo reboot
Neu anmelden mit User pi:
sudo visudo
den oben gemachten Eintrag "inter ALL=(ALL) NOPASSWD: ALL" löschen
sudo deluser interINSTALLATION:
sudo apt-get update
sudo apt-get dist-upgradesudo apt-get install python-setuptools python-dev
sudo easy_install pip
sudo pip install --upgrade pip
sudo pip install wheel
sudo apt-get install python-daemonJetzt die GPIO-Bibliothek:
cd /home/pi/
sudo git clone https://github.com/LeMaker/RPi.GPIO_BP -b bananapi
cd RPi.GPIO_BP
python setup.py install
sudo python setup.py install
(Wichtig!!! setup.py muss einmal mit und einmal ohne sudo installiert werden).Verzeichnis für DoorPi anlegen:
cd /usr/local/etc
sudo mkdir DoorPi
sudo chown -R pi: DoorPi
sudo git clone https://github.com/motom001/DoorPi DoorPiFix für Download (Die Pfade sind für den Installer eingestellt und passen sonst nicht)
cp DoorPi/doorpi/main.py DoorPi
cp DoorPi/doorpi/metadata.py DoorPiLinphone installieren
cd /usr/local/etc/DoorPi
sudo mkdir linphone
cd linphonesudo wget http://linphone.org/snapshots/…c03176e-cp27-none-any.whl
sudo pip install linphone4raspberry-3.9.1_163_gc03176e-cp27-none-any.whlErster Start von DoorPi (legt notwendige Dateien an)
cd /usr/local/etc/DoorPi
sudo ./main.py --traceDoorPi sollte starten und eine Konfigurationsdatei anlegen
Wenn alles gestartet ist, DoorPi mit CTRL-C wieder beenden
Konfigurationsdatei anpassen.sudo nano /usr/local/etc/DoorPi/conf/doorpi.ini
Anmelden an der Weboberfläche mit http://XXXXX:YYYY (normalerweise Port 80)
Einrichten als Dienst:
Das Script muss angepasst werden. Die doorpi.sh von User Postler verwenden.
Die Datei per FTP auf den BaPI nach "/usr/local/etc/DoorPi/doorpi.sh" kopieren
Datei ausführbar machen und ins Init-Verzeichnis kopierensudo chmod a+x /usr/local/etc/DoorPi/doorpi.sh
sudo cp /usr/local/etc/DoorPi/doorpi.sh /etc/init.d/doorpiHinweis: Dateiname "doorpi" im Init-Verzeichnis beachten!
Datei als Dienst eintragen
sudo update-rc.d doorpi defaultsDas wars.
Noch ein wichtiger Hinweis. Aus irgendeinem Grund der sich mir noch nicht erschlossen hat wird Pin 13 sofort nach dem Boot auf "high" gesetzt. Deswegen diesen Port nicht unbedingt verwenden. Die Eingangsspannung der Pin's darf 3,3 Volt nicht überschreiten !!!!
Ich hoffe ich hab nichts vergessen....:angel:
Peter
-
Natürlich besteht Interesse - immer her damit...Gesendet von meinem C6603 mit Tapatalk
Hallo Thomas,
Bin gerade am schreiben der Anleitung. Einzig mit den Outpin hab ich ein noch ungelöstes Problem. Bereits beim Boot werden z.B. Pin 13 sofort auf high
geschaltet und funktioniert dann auch "verkehrt herum". Pin 15 wird z.B. nach initialisierung des Door PI high. Da weiß ich noch nicht warum, aber wie gesagt bin ich gerade am zusammenstellen der Installation.Gruß Peter
-
Hi Thomas.
Ich habe gestern erfolgreich das DoorPi auf einem BananaPI hinbekommen.. Bin richtig stolz darauf .
Anruf auf den DoorPI und Blinking LED zum Test waren erfolgreich. DAs integrierte Mikro ist echt der Hammer.
Falls interesse besteht, schreibe ich das gerne mal zusammen....Gruß Peter