Nachdem ich erfolglos versucht habe per USB zu booten, habe ich das System auf einer neuen Karte frisch aufgesetzt. Nun läuft alles wieder!
Das Problem war also wirklich die Speicherkarte...
Falls es jemand erfolgreich geschafft hat den Raspi per USB zu booten, würde ich mich über eine Anleitung freuen
Beiträge von eisbaer.aw
-
-
Der Speicherverbrauch ist minimal. Es sind genügend Ressourcen verfügbar.
So wie es aussieht ist die SD-Karte hinüber, die macht nur noch Schreibvorgänge mit 8 kb/s. Momentan bin ich dran per USB zu booten, was aber auch nicht wirklich funktioniert... -
Nach ein paar Monaten ohne Probleme funktionierte quasi über Nacht DoorPi nicht mehr. Nach einem Reboot fällt mir auf, dass alles was über eine Netzwerkverbindung mit dem Raspberry läuft, extrem lange dauert. Schon der Login über SSH dauert nun fast zwei Minuten. Das Abspeichern der doorpi.ini dauert fast eine Minute.
Prozesse die keine Netzwerkverbindung benötigen (z.B. iButton-Türöffner) funktionieren reibungslos. Bei einem SIP-Call können sich die Gegenseiten nicht hören, das Gespräch der Türstation wird jedoch ordnungsgemäß aufgezeichnet. Außerdem kann ich die Tür mittles DTMF nicht öffnen.
Der Raspberry ist per LAN an mein Netzwerk angeschlossen, ein Tauschen der LAN-Kabel hat nicht geholfen.
Hat jemand ähnliche Erfahrungen gemacht? Hat jemand einen Tipp warum die Probleme plötzlich auftreten und wie man sie beheben kann? -
Ich habe mit mit einem wasserfesten Alleskleber Moosgummi um den Displayausschnitt geklebt. Das Display wird mittels Schrauben an die "Dichtung" gedrückt. Bis jetzt ist noch kein Wasser eingedrungen.
Wie deviloper geschrieben hat, ist das Display selbst nicht geschützt. -
-
Danke für die Antworten!!
Ich schaue mir die Alternativen mal an und melde mich hier wenn ich noch Fragen oder die Lösung habe. -
Ich habe mein Doorpi erfolgreich an der Hoftür am laufen. Hurra!
Nun möchte ich auch noch die Haustür, die ca. 15m entfernt liegt, zeitversetzt öffnen. Ich habe schon etwas über WLAN Relais gelesen, kann mir aber nicht vorstellen wie man die Dinger mit dem Doorpi ansteuern könnte.
Hat hier schon jemand Erfahrungen gemacht oder Ideen wie man das umsetzen könnte? -
Die Änderung in der from_usb_plain.py hat geholfen. Danke
-
Ich lese über die serielle Schnittstelle eine Zeichenfolge vom Arduino ein, die Doorpi veranlasst einen Befehl auszuführen. Im trace sieht das ganze dann so aus:
[doorpi.keyboard.from_usb_plain] new char
read and is now 333nach einiger Zeit sieht es dann so aus:
[doorpi.keyboard.from_usb_plain] new charread and is now 333
333333333
333
333
333
333Kann man Doorpi veranlassen den Input zu leeren, nachdem der Befehl ausgeführt wurde oder kann ich schon beim Absenden dafür sorgen, dass der Input nicht "summiert" wird?
-
Die Verbindung kannst du über einen USB zu TTL Seriell Konverter direkt am USB Anschluss vom Raspi realisieren. Ich haben einen vom Typ CP2102 genommen.
Was meinst du mit library?
Meinst du die Datei in der die keyboards definiert werden? Du kannst die nehmen die hier im Thread gepostet wurde. Wie oben beschrieben kam es bei mir dazu, dass sie nicht an der richtigen Stelle war. Falls das bei dir auch so ist, musst du sie nur an die richtige Stelle kopieren.
Falls du die library für die Arduino-Programmierung meinst, vergiss sie. Zum einen brauchst du sie nicht, wenn du das Display direkt mit dem Raspi verbindest, zum anderen funktioniert das Ganze nicht so wie es soll. -
Du musst den Befehl "page" gefolgt von der gewünschten ID oder des Seiten-Namens verwenden.
Mein python Code:
Code#!/usr/bin/env python import serial ser = serial.Serial(port='/dev/ttyUSB_nextion',baudrate=9600,timeout=1) #serielle Verbindung definieren EndCom = "\xff\xff\xff" #Befehls-Endung ser.write('page 1' + EndCom) #Seite mit der id=1 aufrufen ser.close()
In deinem Fall ersetzt du 'page 1' durch 'page Klingel'.
-
rookie hatte Recht, es lag wirklich am sipserver_username. Was aber komisch ist, da ich mich an diese Anleitung "Fritzbox 7490 und Türsprechstellenfunktion " gehalten habe, die anscheind auch funktioniert hat.
Wie dem auch sei, mit achtstelligem usernamen funktioniert es. Vielen Dank für die Unterstützung!
Der SIP-Part der doorpi.ini sieht jetzt so aus:Code
Alles anzeigen[SIP-Phone] firewallpolicy = PolicyNoFirewall audio_codecs = PCMA,PCMU call_timeout = 30 capture_device = ALSA: USB Audio Device dialtone = !BASEPATH!/media/ShortDialTone.wav dialtone_renew_every_start = False dialtone_volume = 35 echo_cancellation_enabled = False identity = DoorPi_620 local_port = 5060 max_call_time = 120 playback_device = ALSA: USB Audio Device record_while_dialing = False records = !BASEPATH!/records/%Y-%m-%d_%H-%M-%S.wav sipphonetyp = linphone sipserver_password = GeheimPW11 sipserver_realm = 192.168.178.1 sipserver_server = 192.168.178.1 sipserver_username = doorpi_fb stun_server = ua.max_calls = 2 video_codecs = VP8 video_device = StaticImage: Static picture video_display_enabled = False video_size = vga
-
Mein Problem: Ich kann keine SIP Verbindung aufbauen. Weder zur Fritzbox, noch zu einem Asterisk Server. Jedesmal schlägt die Registrierung fehl:
Code
Alles anzeigen2020-03-06 09:07:47,553 [INFO] [doorpi.sipphone.from_linphone] A timeout related to this channel occured and no message received during last 60 seconds. This channel is suspect, moving to error state 2020-03-06 09:07:47,554 [INFO] [doorpi.sipphone.from_linphone] channel 0xebf6f0: state ERROR 2020-03-06 09:07:47,555 [WARNING] [doorpi.sipphone.from_linphone] Transaction [0xe8fb10] reporting timeout, reporting to channel. 2020-03-06 09:07:47,606 [INFO] [doorpi.sipphone.from_linphone] transaction [0xe8fb10] channel state changed to [ERROR] 2020-03-06 09:07:47,607 [INFO] [doorpi.sipphone.from_linphone] Refresher: scheduling next timer in 500 ms 2020-03-06 09:07:47,607 [INFO] [doorpi.sipphone.from_linphone] Register refresher [503] reason [io error] for proxy [sip:192.168.178.1] 2020-03-06 09:07:47,608 [INFO] [doorpi.sipphone.from_linphone] Proxy config [0xea9c68] for identity ["DoorPi" <sip:620@192.168.178.1>] moving from state [LinphoneRegistrationProgress] to [LinphoneRegistrationFailed] 2020-03-06 09:07:47,609 [DEBUG] [doorpi.sipphone.from_linphone] [PYLINPHONE] >>> pylinphone_Core_callback_registration_state_changed(0xe93f20, 0xea9c68, 4, "io error") 2020-03-06 09:07:47,609 [DEBUG] [doorpi.sipphone.from_linphone] [PYLINPHONE] <<< pylinphone_Core_callback_registration_state_changed 2020-03-06 09:07:47,610 [INFO] [doorpi.sipphone.from_linphone] Linphone core [0xe93f20] notifying [registration_state_changed] 2020-03-06 09:07:47,610 [INFO] [doorpi.sipphone.from_linphone] Refresher: scheduling next timer in 2000 ms 2020-03-06 09:07:47,611 [INFO] [doorpi.sipphone.from_linphone] Register refresher [408] reason [timeout] for proxy [sip:192.168.178.1] 2020-03-06 09:07:47,612 [INFO] [doorpi.sipphone.from_linphone] Changing [client] [REGISTER] transaction [0xe8fb10], from state [TRYING] to [TERMINATED] 2020-03-06 09:07:47,612 [INFO] [doorpi.sipphone.from_linphone] Client internal REGISTER transaction [0xe8fb10] terminated
Das komplette Log, sowie die doorpi.ini habe ich angehängt.
DoorPi ist unter **620 in der FritzBox 7490 registriert.Das Passwort ist über 8 Zeichen lang und wird von der FB als "stark" angesehen.
Ich habe linphone4raspberry und die Türstation an der FB schon zweimal instaliert, ohne Änderung.
Beim Durchstöbern des Internets fand ich ähnliche Fehlermeldungen die entstanden, weil es eine Vermischung von IPv4 und IPv6 Adressen gab. Ich wüsste jetzt aber nicht wo ich das hier einstellen kann.Hat jemand eine Ahnung warum der Fehler auftritt und vor allem wie ich ihn beheben kann?
-
Nee, du greifst mich nicht an; hab wirklich von C++ nicht viel Ahnung. Es ist aber nicht die Programmiersprache die mich am Weiterkommen hindert, sondern die kleinen Stolpersteine die sich immer wieder auftun.
Jjedenfalls habe ich deinen Rat befolgt und das Nextion direkt am Pi angeschlossen. Leider haben sich auch hier wieder kleine Probelme aufgetan, die ich glücklicherweise lösen konnte:- from_nextion.py wird nicht erkannt -> Lösung: from_nextion.py in /usr/local/lib/python2.7/dist-packages/DoorPi-2.5.1-py2.7.egg/doorpi/keyboard/ kopieren
- USB Port ändert sich ab und zu -> Lösung: Ports durch Bestimmung des Treibers selbst definieren
Das Nextion läuft jetzt erstmal.
-
eisbaer.aw: ist das noch aktuell? Deine Fehlermeldung liegt daran, dass es keine Klasse Nextion in der von dir genutzten Bibliothek ITEAD Nextion gibt. Dein Aufruf sieht nach der bborncr/Nextion aus, die dummerweise den selben Header "nextion.h" hat. Ggf. mal kontrollieren ob du beide oder vllt. die falsche installiert hast.
Danke für deine Anmerkung!
Ja, das Problem ist noch leider noch aktuell. Nach längerer Pause habe ich mich letzte Woche wieder an das Projekt gewagt.Ich habe lediglich eine Nextion.h aus der offiziellen ITEAD Nextion Bibliothek mit folgendem Inhalt:
C
Alles anzeigen/** * @file Nextion.h * * The header file including all other header files provided by this library. * * Every example sketch should include this file. * * @author Wu Pengfei (email:<pengfei.wu@itead.cc>) * @date 2015/8/12 * @copyright * Copyright (C) 2014-2015 ITEAD Intelligent Systems Co., Ltd. \n * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. */ #ifndef __NEXTION_H__ #define __NEXTION_H__ #include "Arduino.h" #include "NexConfig.h" #include "NexTouch.h" #include "NexHardware.h" #include "NexButton.h" #include "NexCrop.h" #include "NexGauge.h" #include "NexHotspot.h" #include "NexPage.h" #include "NexPicture.h" #include "NexProgressBar.h" #include "NexSlider.h" #include "NexText.h" #include "NexWaveform.h" #endif /* #ifndef __NEXTION_H__ */
...sieht so aus, als ob hier nichts definiert wird.
Wieso klappt das bei anderen Projekten? Was mache ich falsch? -
Hi Armin,
danke für den Beitrag. Liest sich super!
Ich habe letztes Jahr mit einer DoorPI Installation angefangen, bin aber bei der Datenübertragung zwischen Nextion zum Pi steckengeblieben und wollte es jetzt wiederbeleben.
Wie kommunizieren Nextion und Pi bei dir? Könntest du dein Script posten? -
Hallo zusammen,
ich schaffe es nicht ein Arduino Sketch zu compilieren, welches die Kommunikation zum Nextion steuert. Und zwar handelt es sich um folgende Fehlermeldung:
"''Nextion' does not name a type"Hier die Ausgabe vom Compilieren:
Code
Alles anzeigenPLATFORM: Atmel AVR > Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) HARDWARE: ATMEGA328P 16MHz 2KB RAM (30KB Flash) Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF MODES: FINDER(chain) COMPATIBILITY(soft) Collected 29 compatible libraries Scanning dependencies... Dependency Graph |-- <OneWire> 2.3.4 |-- <Nextion> 0.7.0 |-- <SD> 1.1.1 | |-- <SPI> 1.0 |-- <SoftwareSerial> 1.0 |-- <SPI> 1.0 Compiling .pioenvs\pro16MHzatmega328\src\main.cpp.o Compiling .pioenvs\pro16MHzatmega328\libbe1\ITEADLIB_Arduino_Nextion\NexHotspot.cpp.o Compiling .pioenvs\pro16MHzatmega328\libbe1\ITEADLIB_Arduino_Nextion\NexObject.cpp.o Compiling .pioenvs\pro16MHzatmega328\libbe1\ITEADLIB_Arduino_Nextion\NexPage.cpp.o src\main.cpp:16:1: error: 'Nextion' does not name a type Nextion myNextion(nextion, 9600);
Hier der Code:
C
Alles anzeigen#include <Arduino.h> #include <OneWire.h> #include <SPI.h> #include <SD.h> #include <SoftwareSerial.h> #include "Nextion.h" SoftwareSerial nextion(2, 3); // Zuweisung von TX und RX Nextion myNextion(nextion, 9600);
Ich habe auch schon #include <Nextion.h> versucht, aber auch das ändert an der Fehlermeldung nichts.
Mit Google habe ich zwar schon öfter den Fehler gefunden, aber leider raten alle auf die Lib zu verzichten, anstatt eine Lösungsmöglichkeit mit der Lib anzubieten.Hat jemand ne Idee?
-
Ich bin noch dabei die Hardware zu besorgen und wollte wissen was ihr so an Lautsprecher und Mikro anschließt.
Hat eigentlich jemand das Board schon in Betrieb? -
Wenn man die USB Schnittstelle auf dem Board nutzt, wie lange darf das Kabel für eine externe Kamera sein? Ich möchte nämlich die Kamera etwas weiter weg positionieren. Und gibt es etwas beim Kamerakauf zu beachten oder kann ich jede beliebige USB-Kamera verwenden?