Ich hatte tatsächlich eine RP-SMA Male Antenna auf einem SMA Female Kabel. Die TX LED hat bisher nicht aufgeleuchtet und tut es dummerweise auch mit der richtigen Antenne nicht. Meinste der RFM hat ne Macke? Aber eigentlich hab ich schon 2 verschiedene probiert, also wahrscheinlich hab ich irgendwo was verbockt .
Wenn die Meldung "Verbindung zum RFM69 erfolgreich!" erscheint, heißt das, dass die SPI-Kommunikation grundsätzlich funktioniert. Dabei wird das Versionsregister ausgelesen, und überprüft, dass die Antwort mit dem zu erwartenden Wert übereinstimmt. Anschließend wird das Funkmodul konfiguriert (Frequenz, Leistung, Modulation, ...) und zum Schluss werden im Abstand von je 0,2 Sekunden fünf kurze Bursts geschickt, um die Zündboxen auf die Frequenz zu synchronisieren, wobei während jeden Sendevorgang die Tx-LED aufblitzt. Wenn die LED gar nicht erst angeht, scheint es vorher ein Problem mit dem Funkmodul zu geben. Vermutlich hängt es bei dir in der Schleife, in der auf den Abschluss der Kalibration des RC-Oszillators gewartet wird, da muss ich noch einen Timeout einbauen.
Ok, danke für die Info. Sag mir Bescheid, wenn ich irgendwas testen oder irgendwelche Infos/Logs posten soll.
Wenn du die Möglichkeit hast, mit deinem Pi ins Internet zu kommen, kannst du mal im raspEasyFire3-Unterverzeichnis "script" die Datei "ref_upgrade.sh" ausführen. Also auf der Kommandozeile Code: pi@raspEasyFire ~/raspEasyFire3/script $ ./ref_upgrade.sh laufen lassen. Damit bekommst du eine neue RFM69.py, die an der von mir vermuteten Stelle nach einer Sekunde Timeout die entsprechende Schleife verlässt. Falls du keinen Internetzugang mit dem Pi hast, kann ich dir die Datei auch anderweitig zukommen lassen.
Habe mir nun die aktualisierte Datei per Skript geholt (da wurden übrigens noch weitere Dateien aktualisiert). Beim Start komme ich nun weiter, aber ganz durch läuft es noch nicht. In der Ausgabe erscheint nun nach "Verbindung zum RFM69 erfolgreich" folgendes zusätzlich: Code: Konfiguriere RFM69 Konfiguration abgeschlossen RC-Kalibrierung erfolgreich Die TX-LED leuchtet dabei dauerhaft.
In der gestrigen Version hatte ich einen Fehler (Ungleichheitszeichen falsch gesetzt), daher wurde die RC-Kalibrierung immer als erfolgreich gemeldet. Habe gerade eine neue Version gepusht, die man wieder über das Skript holen kann und die genauere Infos darüber geben dürfte, wo erstmals ein Fehler auftritt. Ich kann mich aus den Erfahrungen der ersten Bring-Up-Phase erinnern, dass das Funkmodul ziemlich wählerisch war, was die Stromversorgung der Platine angeht. newan hatte damals eine Lösung mit Netzteil und nachgeschaltetem Step-Down, die zu unerwünschtem Verhalten des Moduls geführt hat. Mit irgendeinem Billig-Netzteil konnte ich das damals reproduzieren, bin mit USB-Power-Banks aber immer gut gefahren. Bei mir sieht der Startup jetzt so aus: Spoiler: Startup-Sequenz pi@raspEasyFire ~/raspEasyFire3 $ sudo python main.py [INFO ] [Logger ] Record log in /root/.kivy/logs/kivy_19-05-06_10.txt [INFO ] [Kivy ] v1.11.0.dev0, git-372b819, 20181210 [INFO ] [Python ] v2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] [INFO ] [Factory ] 184 symbols loaded [INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored) [INFO ] [Text ] Provider: sdl2 [INFO ] [Window ] Provider: egl_rpi [INFO ] [GL ] Using the "OpenGL ES 2" graphics system [INFO ] [GL ] Backend used <gl> [INFO ] [GL ] OpenGL version <OpenGL ES 2.0> [INFO ] [GL ] OpenGL vendor <Broadcom> [INFO ] [GL ] OpenGL renderer <VideoCore IV HW> [INFO ] [GL ] OpenGL parsed version: 2, 0 [INFO ] [GL ] Shading version <OpenGL ES GLSL ES 1.00> [INFO ] [GL ] Texture max size <2048> [INFO ] [GL ] Texture max units <8> [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked pygame 1.9.6 Hello from the pygame community. Contribute - pygame wiki Starting raspEasyFire! Starte RFM69-Initialisierungsprozess Reading user-defined AES-Key! Verbindung zum RFM69 erfolgreich Konfiguriere RFM69 Konfiguration abgeschlossen RC-Kalibrierung erfolgreich Sende Sync Packages Sync Packages erfolgreich gesendet RFM69-Initialisierungsprozess beendet RFM loaded ADC loaded Logikklasse erstellt Screen Manager erstellt Start-Screen erstellt! ID-Wechsel-Screen erstellt! Autoshow-Screen erstellt! Manuellshow-Screen erstellt! Musikeinstellungen ausgewertet Showcheck läuft! Zpl geladen: Kanaltest-zwei-Slaves Musik-File geladen: Kanaltest-zwei-Slaves Test-Musik-File geladen: test Erzeuge Bildschirmoutput für (semi-)automatischen Modus Showcheck läuft! Current ZPL: Kanaltest-zwei-Slaves Current MP3: test Erzeuge Bildschirmoutput für (semi-)automatischen Modus Unable to connect to X server [INFO ] [ProbeSysfs ] device match: /dev/input/event3 [INFO ] [MTD ] Read event from </dev/input/event3> [INFO ] [ProbeSysfs ] device match: /dev/input/event1 [INFO ] [MTD ] Read event from </dev/input/event1> [INFO ] [ProbeSysfs ] device match: /dev/input/event2 [INFO ] [MTD ] Read event from </dev/input/event2> [INFO ] [ProbeSysfs ] device match: /dev/input/event0 [INFO ] [MTD ] Read event from </dev/input/event0> [INFO ] [ProbeSysfs ] device match: /dev/input/event3 [INFO ] [HIDInput ] Read event from </dev/input/event3> [INFO ] [ProbeSysfs ] device match: /dev/input/event1 [INFO ] [HIDInput ] Read event from </dev/input/event1> [INFO ] [ProbeSysfs ] device match: /dev/input/event2 [INFO ] [HIDInput ] Read event from </dev/input/event2> [INFO ] [ProbeSysfs ] device match: /dev/input/event0 [INFO ] [HIDInput ] Read event from </dev/input/event0> [INFO ] [Base ] Start application main loop [INFO ] [MTD ] </dev/input/event3> range position X is 0 - 0 [INFO ] [MTD ] </dev/input/event3> range position Y is 0 - 0 [INFO ] [MTD ] </dev/input/event1> range position X is 0 - 1024 [INFO ] [MTD ] </dev/input/event3> range touch major is 0 - 0 [INFO ] [MTD ] </dev/input/event2> range position X is 0 - 0 [INFO ] [MTD ] </dev/input/event1> range position Y is 0 - 600 [INFO ] [HIDMotionEvent] using <SIGMACHIP USB Keyboard> [INFO ] [MTD ] </dev/input/event0> range position X is 0 - 0 [INFO ] [MTD ] </dev/input/event3> range touch minor is 0 - 0 [INFO ] [MTD ] </dev/input/event2> range position Y is 0 - 0 [INFO ] [MTD ] </dev/input/event1> range touch major is 0 - 0 [INFO ] [HIDMotionEvent] using <WaveShare WaveShare Touchscreen> [INFO ] [MTD ] </dev/input/event0> range position Y is 0 - 0 [INFO ] [HIDMotionEvent] using <SIGMACHIP USB Keyboard> [INFO ] [HIDMotionEvent] using <C-Media Electronics Inc. USB PnP Sound Device> [INFO ] [MTD ] </dev/input/event3> range pressure is 0 - 255 [INFO ] [GL ] NPOT texture support is available [INFO ] [MTD ] </dev/input/event2> range touch major is 0 - 0 [INFO ] [MTD ] </dev/input/event1> range touch minor is 0 - 0 [INFO ] [HIDMotionEvent] <WaveShare WaveShare Touchscreen> range ABS X position is 0 - 1024 [INFO ] [MTD ] </dev/input/event0> range touch major is 0 - 0 [INFO ] [MTD ] </dev/input/event3> axes invertion: X is 0, Y is 0 [INFO ] [MTD ] </dev/input/event2> range touch minor is 0 - 0 [INFO ] [MTD ] </dev/input/event1> range pressure is 0 - 255 [INFO ] [HIDMotionEvent] <WaveShare WaveShare Touchscreen> range ABS Y position is 0 - 600 [INFO ] [MTD ] </dev/input/event0> range touch minor is 0 - 0 [INFO ] [MTD ] </dev/input/event3> rotation set to 0 [INFO ] [MTD ] </dev/input/event2> range pressure is 0 - 255 [INFO ] [MTD ] </dev/input/event1> axes invertion: X is 0, Y is 0 [INFO ] [HIDMotionEvent] <WaveShare WaveShare Touchscreen> range ABS pressure is 0 - 255 [INFO ] [MTD ] </dev/input/event0> range pressure is 0 - 255 [INFO ] [MTD ] </dev/input/event2> axes invertion: X is 0, Y is 0 [INFO ] [MTD ] </dev/input/event1> rotation set to 0 [INFO ] [HIDMotionEvent] <WaveShare WaveShare Touchscreen> range position X is 0 - 1024 [INFO ] [MTD ] </dev/input/event2> rotation set to 0 [INFO ] [MTD ] </dev/input/event0> axes invertion: X is 0, Y is 0 [INFO ] [HIDMotionEvent] <WaveShare WaveShare Touchscreen> range position Y is 0 - 600 [INFO ] [MTD ] </dev/input/event0> rotation set to 0 [INFO ] [HIDMotionEvent] <WaveShare WaveShare Touchscreen> range pressure is 0 - 255
Nun steigt das Programm mit folgender Exception nach "Konfiguration abgeschlossen" ganz aus: Spoiler: Exception Verbindung zum RFM69 erfolgreich Konfiguriere RFM69 Konfiguration abgeschlossen Traceback (most recent call last): File "main.py", line 563, in <module> MainApp().run() File "/usr/local/lib/python2.7/dist-packages/kivy/app.py", line 800, in run root = self.build() File "main.py", line 79, in build self.objRaspEasyFireRFM69 = RaspEasyFireRFM69(self) File "/home/pi/raspEasyFire3/module/RaspEasyFireRFM69.py", line 29, in __init__ self.objRFM69 = RFM69(18, 0, self.objRFM69Config) File "/home/pi/raspEasyFire3/module/lib/RFM69.py", line 71, in __init__ if wait_for(lambda: self.spi_read(Register.OSC1) & 0x40, "RC-Calibration timeout"): File "/home/pi/raspEasyFire3/module/lib/RFM69.py", line 41, in wait_for raise RadioError("Condition didn't become true within %s seconds" % timeout) module.lib.RFM69.RadioError: Condition didn't become true within 1 seconds Exception AttributeError: "RaspEasyFireRFM69 instance has no attribute 'objRFM69'" in <bound method RaspEasyFireRFM69.__del__ of <module.RaspEasyFireRFM69.RaspEasyFireRFM69 instance at 0x712aa260>> ignored Netzteile habe ich ein Nokia 5V 3A Teil von meinem Handy benutzt. Alternativ hab ich grad eben noch ein anderes 5V 2A Steckernetzteil und ne Powerbank getestet. Alle endeten allerdings mit obiger Fehlermeldung.
Es ist ziemlich eindeutig, dass dein Funkmodul nicht richtig funktioniert. Das kann entweder am Modul selbst liegen oder auf der Platine ist irgendetwas nicht in Ordnung. Kannst du die Module mal in einer Zündbox testen bzw. die Zündboxmodule auf der RasPi-Platine? Bei Zündboxen leuchten zunächst beim Hochfahren die orange und gelbe LED abwechselnd, um die Slave-ID darzustellen, anschließend signalisiert die grüne LED durch kurzes Aufblitzen, dass die Box ihre Parameter in den Äther schickt. Wenn es nicht bei dem Aufblitzen bleibt, sondern die LED dauerhaft leuchtet, funktioniert das Funkmodul nicht richtig.
Den leisen Verdacht hatte ich irgendwie schon von Anfang an. Ich versuche die beiden Funkmodule mal noch unabhängig von der Zündanlage auf Funktion zu testen. Hast du noch eine "seriöse" Quelle für den RFM69CW? Bei Pollin ist der nicht mehr lieferbar und ich hatte damals meine von Aliexpress. Nur für den Fall, das meine Module unbrauchbar sein sollten. Ich habe beide Funkmodule auf der Zündbox getestet. Beim Einschalten leuchtet zuerst die orange LED einmal auf und dann einmal die grüne. Als Unique-ID und Slave-ID hatte ich bei der Zündbox jeweils "01" eingestellt. Wenn ich es richtig verstanden habe, dann wird ja durch die LEDs nur die Slave-ID, nicht aber die Unique-ID signalisiert? Dann müsste es ja passen.
Falls sich wirklich das Funkmodul als defekt herausstellt, könnte ich dir zur Not noch mit einem fertigen Teil inklusive Adapterplatine, Stiftleisten und SMA-Stecker aushelfen. Bisher waren meine alle funktionsfähig. Würde dir das sogar vorher in meiner Anlage testen, um ganz sicher zu gehen. Hab einen Satz übrig weil ich eine Zündbox-Platine vermurkst hatte Schreib mir einfach ne PN. Edit: mir fällt da gerade noch was ein: die Funkmodule gibt es für verschiedene Frequenzen. Nicht, dass es daran scheitert. Auf meinen ist auf der Rückseite eine Tabelle in den Silkscreen gearbeitet, dort ist dann das entsprechende angekreuzt. Ist aber wohl jetzt zu spät, da nochmal nachzusehen. Vielleicht findest du in der Artikelbeschreibung aber noch ne Info.
Danke für das Angebot . Werde ggf. darauf zurückkommen. Ich hatte eigentlich die mit 868 MHz bestellt, so steht's in der Bestellung und ich meine die sind auch entsprechend auf der Rückseite markiert gewesen. Muss ich später nochmal überprüfen, hab noch 2 unbenutzte rumliegen.
Ich habe meine letzten Exemplare auch immer von AliExpress bezogen und keine Probleme damit gehabt. Nach deiner Schilderung zum Verhalten auf der Zündbox (s. u.) glaube ich auch nicht, dass das Modul an sich einen Defekt hat, sondern das Problem irgendwo im Bereich des Raspberry Pi, seiner Stromversorgung, der Aufsteckplatine, ... liegt. Die SPI-Kommunikation scheint ja zu funktionieren, allerdings gibt es womöglich im Analogteil irgendwo Störeinflüsse. Ja, die orange (und gelbe, falls die Slave-ID > 1 ist) LED signalisieren die Slave-ID, nicht die Unique-ID. Wie lange hat das Leuchten der grünen LED etwa gedauert? Deutlich unter einer Sekunde (alles ok beim Senden) oder wesentlich länger (Timeout)? Wenn du mehrere Zündboxen hast, kannst du auch testen, ob eine Zündbox das von der anderen gesendete Signale empfängt, dann leuchtet die orange LED beim Empfänger.
Ich hab's nun gelöst, bzw. meinen eigenen Bockmist behoben. Beim kompletten durchchecken der raspEasyFire Platine ist mir aufgefallen, dass die Widerstände "R8" und "R_8" vertauscht waren . Oh man ey... Vielen Dank auf jeden Fall für deine Hilfe! Ich hoffe du hast nicht zu viel Zeit damit verbracht...
Ein Dauer-Reset des Funkmoduls ist natürlich auch eine Erklärung für das gezeigte Verhalten , auch wenn mich wundert, dass die erste SPI-Kommunikation offenbar trotzdem funktioniert . Sehr schön, dass es jetzt läuft, viel Spaß damit und die investierte Zeit hat sich für mich auf jeden Fall rentiert, weil auch solche Sachen dabei helfen, das Programm besser zu machen.
Danke, jetzt werde ich mal die Platine für die zweite Zündbox bestücken und dann schauen, dass ich mir aus Blech oder Plexi entsprechende Platten für die Koffer schneide. Bin schon ganz heiß auf die erste Feuerprobe
Am Wochenende stand die Anlage wieder einmal unter "Wettkampfbedingungen" auf dem Prüfstand für das Hochzeitsfeuerwerk eines Freundes. Trotz nicht optimaler Witterung mit drei Regenschauern während des Aufbaus hat die Technik ihren Dienst zuverlässig erledigt, der eine Sitzenbleiber (rote Kometenbatterie rechts vom Herz) resultierte aus einem während des Einpackens - die Hornbach-Stretchfolie hat alles perfekt vor der Feuchtigkeit geschützt - oder Verkabelns herausgezogenen Anzünder, der keinen Kontakt mehr zur Visco hatte. Video: Eingebetteter Inhalt von YouTubeDiesen Inhalt anzeigenInhalte von YouTube immer anzeigenInhalte von YouTube immer ausblendenImmer alle eingebetteten Inhalte anzeigenImmer alle eingebetteten Inhalte ausblenden Erlebnisse während des Ankabelns haben mich dazu bewogen, der v3-Software ein Update zu spendieren. Bisher wurden die Kanalzustände und -LEDs nur durch Aufforderung von außen, beim Drehen des Schlüsselschalters oder direkt nach dem Einschalten aktualisiert, mit dem gestern gepushten Update passiert es nun zusätzlich zyklisch mit einer Aktualisierungsrate von etwa 1,5 Sekunden, um den aktuellen Zustand auch quasi in Echtzeit nach außen zu spiegeln und dem Nutzer das händische Aktualisieren zu ersparen.
Wie versprochen, hier das Gruppenfoto: {} Also, von mir aus kann Silvester dann kommen Eine Zündbox hat es leider nicht geschafft, daher "nur" 144 Cues für dieses Silvester, aber auch das ist mehr als eine Verdopplung gegenüber den letzten Jahren. Ich hatte ganz viel Spaß beim Bau und kann dieses Projekt wärmstens weiterempfehlen! Danke nochmal!!!
Hätte eine Frage zur Zündbox in der Version V3. Ich verbaue hier den 12 Volt Akku von Reichelt wie in der Material Liste, wenn der Akku nun leer ist wie wird dieser wieder aufgeladen ? Ladebuchse ? Oder Akku raus - aufladen - Akku wieder rein ? Wie habt ihr das so gelöst ? Grüße Michael
In der Anleitung gibt es auf Seite 13 in Abbildung 1.2 (b) eine Ansicht, wie bei mir der fertige Zündkoffer aussieht. Der Akku sitzt extra im Koffer und ist über die grünen Steckverbinder mit der Box verbunden. Zum Aufladen wird die Steckverbindung geöffnet und ein Ladegerät angeschlossen, das den gleichen Steckverbinder wie die Zündbox hat, so dass man es mit dem Akku verbinden kann. Die für den Koffer nötigen Modifikationen, also das Verändern der Schaumstoffeinlage und die EInhängevorrichtung für die Antenne sind ab Seite 108 geschildert (12.4.3 Koffer).
Danke für die Info ich dachte eher an die V3 Platine, hat hier jemand einen Plan ? Klar ist das Bestücken , aber wo werden die ganzen Schalter angeschlossen ? LEDs sind alle kloar, aber + und - die zu den Klemmen gehen ( Brückenzünder )
Wenn du die V3 Platine vor die hast, sind auf der rechten Seite die CH1 bis CH16 gezeigt. Dies ist die eine Seite der Zündbuchsen, jeweils eine pro Kanal. Die Spannung für die Buchsen kommt von den V+1 bis V+4. Die hängen alle gemeinsam an der Zündspannung.
Es gibt auf der Platine entsprechend beschriftete Lötaugen, in denen die Kabel verlötet werden müssen: {}