INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino <=> Nexus 7 los geht´s
11.02.2018, 06:30
Beitrag #25
RE: Arduino <=> Nexus 7 los geht´s
(04.02.2018 11:02)Tommy56 schrieb:  Ein Hinweis zur externen Antenne: Wenn Du die nutzen willst, musst Du den Widerstand zwischen interner Antenne und Anschluss umlöten.

Gruß Tommy
Ahh Super Tipp Danke Schöööön Cool ..........

Ich habe jetzt einige Experimente hinter mir und kann nur wenige Resultate liefern. Blush Und jetzt kommt schon wieder eine menge Text Tongue

Das Wemos D1 Shield habe ich zum laufen bekommen aber noch nicht Geprüft ob die Verbindung zum Router permanent bestehen bleibt. Unabhängig davon ob Daten Transfer besteht.
Hier könnte ja ein Fehlerteufel versteckt sein der einen im Kreis laufen lässt.

Leider habe ich jetzt mit den neuen Sensoren die ja auf dem "Wire" Bus Kommunizieren Probleme mit dem Wemos D1 Shield.
Hier habe ich das Wifi Shield als Master festgelegt, damit die APP Vorrang hat. So bilde ich mir das wenigstens ein.

Dabei scheint es einen Konflikt zu geben mit den Sensoren, denn mit den alten DHT11 Sensoren die nicht auf dem "Wire" Bus Kommunizieren bekomme ich, sobald die APP "Activity" das verlangt, die Daten im Serial Monitor auf dem Wemos D1 Angezeigt.

Ich dachte immer der "Wire" Bus ist so was wie "Token Ring" und der Fehler der sich mir aufdrängt ist eben ->
Das der Slave die Daten über den "Wire" Bus gleichzeitig Kommunizieren muss, aber das Wemos D1 ja ebenfalls gerade in der Kommunikation mit dem Slave steckt und auf die Daten wartet.

Ich habe bereits probiert ->
Einfach die Sensoren vom Master (Wemos D1 Shield) selbst zu besorgen, was auch prima klappt. Aber dann kann der Slave nicht mehr Selbstständig die Sensoren Ansprechen.
Anders herum kann kann das Wemos D1 auch nicht Selbstständig die Sensoren Ansprechen.
Damit das mit den Sensoren jeweils klappt muss ich entweder den Slave oder den Master vom "Wire" Bus abklemmen.

Ich dachte auch schon, vielleicht im Slave den Lese-Takt erhöhen und nur den Speicherinhalt an das Wemos schicken.
Aber das erscheint mir unnötig da es nicht den Fehler behebt, das Sensoren, Master und Slave auf dem "Wire" Bus Probleme miteinander haben wenn die zusammen angeklemmt sind.

Also habe ich hier noch bedarf an einem Lösungsweg, so lange muss ich eben, um mit der APP voran zu kommen, die alten Sensoren benutzen.
Ich hoffe das ich vielelicht das Wemos D1 auf den SPI lege kann damit das Problem der Live-Abfrage auch klappt.

Mein aktuellen Sketch dazu habe ich mal im Anhang gelegt.
Die Basis für den Sketch kommt von der Installation der Board Infos über die Boradmanager Variante wie auf der Hersteller Seite beschrieben ist. (WiFiWebServer Lib -> Beispiel)

Meine aktuelle APP habe ich auch mit in den Anhang gelegt.
Ich denke das die Import Funktion vom Android Studio das Teil korrekt Importiert, hier funktioniert der Import prima.
Schleißlich habe ich die Export Funktion dafür benutzt, der Datei Ordner ist 6MB groß und damit hier nicht mehr kompatibel.
Kann natürlich bei Interesse per Mail übermittelt werden. Ich halte eben nix von diesen Cloud Servern wo jeder seine Daten ablegen soll.

Ich habe bei der APP einmal den Inspector (Lint) durch laufen lassen und es gibt da noch ein paar Kleinigkeiten die sich aber im laufe der APP Entwicklung von selbst erledigen werden.
So die Hoffnung nach dem ich etwas voraus gelesen habe....

Dabei geht es in der Hauptsache um die "AUTO Backup" Geschichte. Das ganze Thema Debuging ist sowieso noch ne extra "Reise" die noch vor mir liegt.

Die Automatik Manual Activity funktioniert über das "Action Menu" insoweit das, ->
sobald die APP die Verbindung korrekt aufgebaut hat die Manual Pins korrekt geschaltet werden.
Hier ist natürlich noch der APP "Activity" beim Start zu verraten wie der Aktuelle Staus ist.

Zur Zeit ist die APP ja noch "Dumm und Dämlich" daher kann es passieren das beim herum Spielen ein Button zwar auf der APP funktioniert aber der PIN nicht reagiert weil er schon den Zustand hat den er bekommen soll,
Denn das Touch-Screen ist ja auch ein Interface und soll erst mal noch activ bleiben.
Das Verhalten erledigt sich natürlich wenn die APP "Activity" den aktuellen Staus kennt usw.

Ich habe in den nächsten Wochen nur wenig Zeit meine "APP-Activity" weiter aus zu bauen.
Die nächsten Schritte sind wohl erst mal die Aneignung von Wissen über den SPI Bus, damit das Wemos D1 nicht am "Wire" Bus hängen muss, und ich die Sensoren benutzen kann wie ich das am Anfang gedacht hatte.

gruß

HIER DIE ANHÄNGE

.zip  WiFiWebServer.zip (Größe: 2,83 KB / Downloads: 3)

.zip  EasyGrow_11.2.18.zip (Größe: 83,51 KB / Downloads: 4)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.02.2018, 10:34
Beitrag #26
RE: Arduino <=> Nexus 7 los geht´s
Der I2C-Bus iust kein Tokenring.

Wenn Du am I2C 2 Prozessoren hast, die selbständig tätig werden, dann hast Du einen Multimasterbetrieb. Das geht auch, es dürfen nur nicht beide gleichzeitig Master sein wollen. Ich habe es noch nicht probiert.

Der DHT hängt aber nicht am I2C, d.h. den kann der Slave unabhängig in bestimmten Zeitabständen abfragen und sich die Werte merken.
Wenn der Master diese anfordert, werden dann diese Werte gesendet.
Damit kommt der 2. Prozessor nicht in die Verlegenheit, Master spielen zu wollen.

Echte I2C-Sensoren sollte dann der Master selbst abfragen. Auch dort würde ich in festen Zeitabständen die Werte erfassen und die gespeicherten Werte der App übergeben.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.02.2018, 03:09
Beitrag #27
RE: Arduino <=> Nexus 7 los geht´s
(11.02.2018 10:34)Tommy56 schrieb:  Der I2C-Bus iust kein Tokenring.
...
Gruß Tommy

Alles klar, Idea
Danke für die ausführliche Beschreibung. Multi-Master muss jetzt natürlich auch nicht unbedingt zur Anwendung kommen. Aber gut zu wissen das es da auch noch Möglichkeiten gibt.

Am Wochenende habe ich mich wieder mit der APP beschäftigen können.
Da war ja noch ein Anfänger Fehler in der Manifest.xml, der daher rührt das ich ein CP Coder bin, ...wenigstens bin ich kein SoDa Coder Wink

1,
Die Manifest.xml hatte einen Fehler der 2 Luncher Icon Erstellt hatte.
Das habe ich schnell beheben können indem ich den passenden identFilter eingebaut habe. Bei der Aitomatik/Manual Avtivity reicht ja ein View ohne irgendetwas anderem.

2. Die Warungen vom Inspector LINT habe ich bis auf die Backup-Warnung allle gesäubert.
Bei der Backup Geschichte hatte ich schon in Vorlauf beim Testen und kennen lernen der IDE schlechte erfahrungen gemacht.
Daher spare ich mir das Automatische beheben der Warnung erstmal für später auf.

3.
Bei den ToggleButtons war es bisher so das Automatik nicht Vorrangig Programiert war, das habe ich, wenn auch wieder mit viel Lesen und Probieren, auch erledigt.

Jetzt hat die Automatik Vorrang und der Manual-ToggleButton ist erst "Clickable" wenn Automatik AUS ist.

Der kleine Hacken den es hier noch gibt ist das beim Manual-ToggleButton die Grafik noch nicht zurückgedsetzt wird falls er beim Umschalten aktiviert war.
Das bekomme ich aber auch noch auf den "Schirm" wie das Funktioniert. Wichtiger ist mir jetzt das die APP nicht vergisst welche Button Aktiv waren/sind und welche nicht. Beim Starten der APP ist halt noch alles auf "AUS"

Im Anhang habe ich wieder mein Schaffen abgelegt. Der Arduino-Teil hat sich nicht geändert, da habe ich nur im Slave die Verarbeitung der Incommings von Auto/Manual so gestaltet das auch hier die Automatik Vorrang hat.

Das macht die Sache sicherer da Arduino 230V Schalten soll. Habe mir noch überlegt das Gartenlicht und Terassen Licht auch vom Tablet aus zu schalten.
Dazu besorge ich mir Funksteckdosen, da schaue mal was auf dem Gebiet schon von den Herstellern auf dem Markt ist. Nächstes Jahr Tongue

Das war mein Wochenende Wink
...ich halte mich weiter Hart und bleibe am "Start". Macht ja auch Spaß...


Angehängte Datei(en)
.zip  EasyGrow_13.2.18.zip (Größe: 83,71 KB / Downloads: 7)

"It is better to make a good copy, than to have a bad original"

Hardware: SainSmart Mega 2560 R3 + 3,2" LCD-Touch-Screen/Arduino Duemilanove
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Gestern, 03:35 (Dieser Beitrag wurde zuletzt bearbeitet: Gestern 03:38 von ArduTux.)
Beitrag #28
RE: Arduino <=> Nexus 7 los geht´s
An diesem Wochenende konnte ich mich um die TooglButton kümmern.

Jetzt wechselt das Image vom Manual-Button wenn Automatik aktiviert wurde zum "OFF-Image".
Wird Automatik wieder Deaktiviert so zeigt uns der Manual-Button auch wieder das passende Image seines letzten Staus an.

Die Manual-Button können natürlich noch nicht wissen ob Arduino im Automatik Mode den Pin geschaltet hat.
Zumindest wird schon "set.Clickable(true/false)" und der letzte Staus vom Button wieder korrekt angezeigt sobald Automatik Aktiviert/Deaktiviert wurde.

Ich habe ja im Arduino Sketch die wichtige Gegenseilteige Verriegelung programmiert.
Das ist zwar nur eine Software Verriegelung aber besser als nix. Eine LED ist ja nicht so gefährlich wie 230V, oder höher, Wechelspannung.

Ich habe nicht die eleganteste Lösung für die ToggleButton gefunden. Obwohl ich mir wirklich mühe gegeben habe Rolleyes die Android Developer Seite zu verstehen.

Ich musste um in der "OnClick" Funktion zu bleiben so was wie Globale Variable Anlegen.
Sicher funktioniert das bestimmt auch irgendwie "magischer" in der "xml" und muss nicht mit in die Funktion eingebaut werden.

Da habe ich auch irgendwann keine Lust gehabt weiter zu Suchen um noch mehr zu Lesen. Es Funktioniert so, und ich konnte den Code klein halten.

Entweder konnte die toggle1.xml nicht mit den "set.Clickable(true/false)" umgehen oder "set.Enabled(true/false)", "set.Focus(true/false)" usw.
hatte keinen nutzen in der "OnClick" Methode.

Weil das "set.BackrounDrawable(R.by.Id)" nicht mehr in den neueren Android Versionen Funktioniert. Am Ende musste ich eben das Image-Switching ohne "find.by.Id blabla" in der "OnClick" Funktion umsetzten und diese Variablen im "Header" einbauen.

Ich freue mich jedenfalls das die Button erst mal so Funktionieren wie ich mir das ausgedacht habe.
Es gibt einen "Haufen" von Beispielen aber ich musste schon aus Prinzip meine eigenen Button hin bekommen.
Ich will ja noch viel mehr schaffen und wenn das so weiter geht dauert das auch noch eine ganze weile..

Im Anhang ist wieder das Ergebnis meiner Bemühungen.


.zip  EasyGrow.zip_18.2.18.zip (Größe: 111,2 KB / Downloads: 2)

gruß

"It is better to make a good copy, than to have a bad original"

Hardware: SainSmart Mega 2560 R3 + 3,2" LCD-Touch-Screen/Arduino Duemilanove
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Lightbulb Wie geht das? :) Mischa 4 1.749 02.06.2016 10:38
Letzter Beitrag: SkobyMobil
  2 LCDs und eins geht nur Gandalf 10 3.259 12.06.2015 13:59
Letzter Beitrag: eftokay83
Question [Problem] TFA Nexus über Arduino auf WeatherUnderground übertragen Alfonz_Ritzek 0 1.878 28.03.2015 10:42
Letzter Beitrag: Alfonz_Ritzek
  Arduino Neuling: Zugeklappten Laptop mit Arduino aufwecken + Kiste aufklappen? Ikearegal 2 5.540 02.02.2014 07:59
Letzter Beitrag: Ikearegal

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste