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
28.02.2018, 14:02
Beitrag #33
RE: Arduino <=> Nexus 7 los geht´s
Es gibt 2 Funktionen in der Wire.h:
Code:
TwoWire::requestFrom(int, int)
     uint8_t requestFrom(int, int);
             ^
...packages/arduino/hardware/avr/1.6.21/libraries/Wire/src/Wire.h:61:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t)
     uint8_t requestFrom(uint8_t, uint8_t);
Er kann sich nicht entscheiden, welche er nehmen soll. Du solltest 2 Mal in order 2 Mal byte übergeben. Das ist nur eine Warnung.

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
06.03.2018, 03:31
Beitrag #34
RE: Arduino <=> Nexus 7 los geht´s
(28.02.2018 14:02)Tommy56 schrieb:  ...
Du solltest 2 Mal in order 2 Mal byte übergeben. Das ist nur eine Warnung.
Gruß Tommy
Ja das hatte ich schon einmal, aber hier klappte es nicht daher habe ich in der Lib etwas geändert. Die Warnung kam wieder wenn der Sketch neu gestartet wurde. Ich werde mir das aber nochmal genauer ansehen und mit den Beispiel-Sketch vergleichen. Da sollte es ja richtig Deklariert sein. Vielleicht ist das auch der Wechsel von dem Wemos da wird ja alles"switched" wenn man das Board ausgewählt hat.

Weiter im Projekt ...
Mittlerweile habe ich eine Liste von der Hardware, die ich im laufe der Zeit auch wieder etwas umgestellt habe.

Master Hardware:
Code:
WEMOS D1 Mini Pro-16 Module + ESP8266 Series 2.4G WiFi Wireless Antenna Connector
-Ist ja selbst erklärend zu welchem Zweck das Shield dienen soll Wink

Slave Hardware:
Code:
Real Time Clock RTC DS3231 AT24C32
-Die soll zu gegebener Zeit, bei fehlender Batterie und einem Stromausfall bzw. Neustart, die Zeit vom Wemos und dem NTP erhalten.

Code:
SHT30-D Temperature Humidity Sensor Breakout Weather
-Der Sensor ist zur Info und als "Spielzueug" zum Daten Sammeln.

Code:
BH1750FVI Digital Light intensity Sensor Module 3V-5V
-Der Sensor ist wie der SHT30-D nur zum Daten Sammeln gedacht.

Code:
8x Soil Hygrometer Detection Module Soil Moisture Sensor
-Diese Sensoren sollen die Feuchtigkeit im Boden von dem Acrylglas Gewächshaus überwachen.
Und dienen als Sensor für die Automatische Bewässerung (Irrigation).

Code:
3x 1 Kanal 5v OMRON SSR Relais Relay Modul G3MB-202P Solid State
-Diese Relays sollen die noch alten herkömlichen Steckdosen Schalten.

Code:
3x E-Monitor Modul ACS712-5A
-Mit diesen Sensoren werden die Schaltkontakte von den SSR Relais Überwacht.

-Hier will ich wissen wie viel Strom da über die Kontakte Fließt. Und natürlich auch wieder zum Daten Sammeln für die App.

-Wenn die Werte vom Datenblatt der OMRON überschritten werden gibt es eine Software "Komplett" Abschaltung der entsprechenden Steckdose.
-Die Last die an den 2 Steckdosen hängt ist einmal 7W für AirPump und die andere hat 60W für die Bewässerung.

-Bei der Bewässerung habe ich nicht die Lösung eines Elektro-Ventils ähnlich der in einer Waschmaschine verbauten "Schieber" gewählt. (Wasserhahn ist zu weit entfernt)
-Wenn das Teil nicht funktioniert geht das Wasser aus dem Wasserhahn ohne Ende in die Erde bis jemand kommt und den Hahn zu dreht. (analog zum Gardena System)

-Ich habe eine Teich Pumpe in der Regenwasser-Tonne und die kann wunderbar das kostenlose Gieß-Wasser verteilen.
-Der Füllstand wird mit 2 Reet-Kontakten (Pullup) Überwacht.

Falls ich einmal nicht mitbekommen habe das es zu wenig geregnet hat soll es eine Info an die App geben.
Damit ich zeitnah gemütlich Nachfüllen kann. Das mit der Bewässerung ist schon eines der wichtigen Dinge in dem Projekt.
Im Sommer gibt es immer 2-3 Wochen wo es zu warm wird dann ist das Gemüse schnell welk.

Code:
Micro SD Storage Board SD TF Card Memory Shield Module 6P SPI
-Hier kann gespeichert werden was gespeichert werden will.

Vielleicht bekommt das SD-Shield auch der Master verpasst, um eine kleine Webseite Abzulegen usw.
Da liegt noch reichlich Bastel- Material in den Beispielen.

Hier habe ich nämlich den Sketch gefunden wo die "time.h" benutzt wird, und die Zeit vom NTP kommt.
Code:
~/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/tests

Funktioniert super soweit ich das sehen kann, sind nur 2 Zeilen im Setup und 2 Zeilen um die Zeit zu lesen.
Damit benötige ich für die Zeit auf dem Wemos nicht zwangsläufig eine RTC.
Was ich gelesen habe kann es da auch Probleme mit der Kompatibilität geben. Spielt erst mal keine Rolle für mich...

Das ist also das was ich mir die letzten Wochen bei dem "hin und her" "rein, raus" so überlegt habe.

... Puhhhh, das war ein langer Weg und hartes Stück Arbeit.
Damit bin ich wieder einen Schritt weiter und habe jetzt eine konkrete Vorgabe für die App erarbeitet.
####################
-Die Sensor-Daten bekomme ich jetzt einzeln auf der App zu sehen, wenn keine IP im App-Speicher ist muss vorher eine eingetippt werden.
-Ein Reload Button für alle Anzeigen ist schon da, aber ich muss erst mal sehen wie das so zu machen ist das er alle Daten auf einmal aktualisiert. Jetzt muss noch auf das jeweilige "TextView" getippt werden. Wenn er verbunden ist sollte es auch klappen...

-Später sollen die Daten einfach beim drehen vom Display Aktualisiert werden, z.Z macht er nur einen "Toast" also eine Massage auf dem Screen.
-Alles ist natürlich auf mein Nexus7 abgestimmt daher bei Darstellungsfehlern nicht wundern...

Das mit den Array Atapter ist glaube ich das passende Werkzeug aber nachdem ich das Tutorial bis Teil 12 abgearbeitet habe und etwas experimentiert habe ist das noch etwas für später wenn ich ein Fortgeschrittener bin. Cool

Geholfen hat mir natürlich wie üblich google und die Seiten der Android Dokumentation. Aber richtig weiter bin ich mit den Sensoren und den Adaptern auch nicht gekommen.

-Die Automatik/Manual Button waren nicht schwer.
Aber es ist nicht mal eben so mit "CP" schnell eine App zu coden getan. Sie soll auch keine schwerwiegende "Bugs" haben...
Wenn man so was nicht beruflich macht ist es ein langer Prozess sich durch die Dokumentationen zu arbeiten.

Ich habe im Zug vor ein paar Tagen etwas von "Pachube Client" gelesen, vielleicht ist das auch etwas für mein Projekt.

Ich habe allerdings jetzt viel Zeit mit diesem und diesem HTTP-POST-Requests verbracht und einen Anfang gefunden, so das ich schon mal etwas auf dem Nexus sehen kann.

In jetzigen Stadium habe ich noch zwei "Warnungen" beim "Inspektor Lint" das liegt sicher daran das ich als CP-Coder nicht immer den richtigen Codeschnipsel passend zu meiner Projekt Version in das Projekt "Einklebe".

"Step by Step" lautet das Moto, am Ende muss es nur für mich privat passen. Ich bin kein App-Endwickler und werde es auch nicht werden. Das ist jetzt eine Art "therapeutisches Basteln" damit ich vom Alltagsstress runter komme. Wink

-Zu den zwei "Warnungen" beim "Inspektor Lint" ist zu sagen das ich diese eigentlich ignorieren kann.
So wie ich das verstanden habe vergeht bei meinem AsyncTask nicht so viel Zeit das Speicher Fehler entstehen können.
Die "Activity" wird ja spätestens nach 2 Sek. wieder Freigegeben. Anders wäre das wohl beim Senden von Songs oder Videos...

-Aber bei den ToggleButton für die Automatik/Manual Activity habe ich den gleichen Fehler auch wegbekommen. Und bei dem "Response" schaffe ich das auch noch irgendwie.

Das schmelze ich hier noch passend zusammen in meinem "Code-Schnipzel Schmelz Tiegel"... Tongue

Einen kleinen "Erfolg" mit meinem "POST-Requests" habe erzielt in dem ich das Projekt von LinkItBoom probiert habe.

Ich brauche in dem Stadium gerade etwas Sichtbares zum "Anfassen" Wink und wenn man möchte lernt man natürlich auch etwas..

Ich habe im Sketch einmal in den Kommentaren aufgeschrieben wie ich mir denke, das an den Stellen das Passiert was ich glaube. Ich habe glaube ich den Sketch noch nicht richtig Verstanden... Und es gibt bestimmt noch Sachen die ich weglassen kann oder vereinfachen etc. oder welche die völlig unsinnig erscheinen.

Ich mache ja gerade mein CP Diplom Big Grin

Anhang:
Aktueller Wemos-Sketch (Master) und die aktuelle App

gruß

.zip  WemosD1_4.3.18.zip (Größe: 6,08 KB / Downloads: 15) ,
.zip  EasyGrow.zip_6.3.18.zip (Größe: 357,74 KB / Downloads: 19)

"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
06.03.2018, 13:59
Beitrag #35
RE: Arduino <=> Nexus 7 los geht´s
Beim WEMOS D1 mini pro brauchst Du keine SD für die Website.
Den kannst Du entweder als WEMOS D1 mini ansprechen mit 1MB/3MB oder als 3MB/1MB (Programmspeicher/SPIFFS). Mit Version 2.4.0 der ESP8266-Erweiterung kannst Du ihn auch als WEMOS D1 mini pro mit 1MB/15MB ansprechen.

SPIFFS ist ein Filesystem im Flash.
Beispiele gibt es hier in der Rubrik "ESP8266 und ESP32" einige. Auch Tools zur SPIFFS-Verwaltung, zum Debuggen über WLAN und diverse Webserver. Auch OTA solltest Du Dir anschauen.

Die Nutzung der Time.h mit NTP (ohne RTC) kannst Du Dir in meinem Weihnachtsstern anschauen.

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
10.03.2018, 02:55 (Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2018 02:57 von ArduTux.)
Beitrag #36
RE: Arduino <=> Nexus 7 los geht´s
(06.03.2018 13:59)Tommy56 schrieb:  ...
... kannst Du Dir in meinem Weihnachtsstern anschauen.

Gruß Tommy
Ahh, Ok dann muss ich mich zu gegebener Zeit mal mit diesem "SPIFFS" beschäftigen.

Vielen Dank für die Tipps.

Und Wow! bei den Weihnachtsstern "Abo" Klick .. dann kann ich es nicht in meinen Bookmarks verlieren. Aber die Zeit, die Zeit, ...die Zeit...
...
Diese Woche habe ich mich etwas mit diesen AppTheme beschäftigt...
Ich hatte Recht als ich am Anfang geschrieben habe das es ein Projekt ist mit dem ich mich den Rest meines Lebens beschäftigen kann.
Damit das alles auch etwas netter aussieht habe mit für die Sensor Daten mit "Gimp" ein paar "Fensterchen" gebastelt... Da geht aber noch was Wink

Die Sensor-Daten werden jetzt beim Starten der Acticity automatisch Aktualisiert.
Der "Reload Button" ist raus geflogen und die "Gravity" habe ich auf Center gestellt.
Am Anfang ist er noch nicht schnell genug mit dem Arduino Verbunden.
Daher muss ich nochmals zur Aktivity wechseln, oder einfach das Tablett drehen damit er die Daten neu Laden kann.
-Etwas beim Start passt mit der Kommunikation noch nicht perfekt. Das muss noch "Rund gefeilt" werden, kommt ja auch gerade erst aus dem "Codeschnipzel Schmelz Tiegel"

-Hier im Arbeitszimmer klappt das prima und ich habe die App auch schon die Nacht durch aktiv gelassen.
-Morgens war das Akku noch voll und die App funktionierte sofort ohne Verbindungs- Hänger.
-Auch wen ich das Display hin und her drehe macht er ohne Hänger die Daten Aktualisierung.

   

Die Auto/Manual Activity ist jetzt "Vertikal-Scrollbar" so das die Button am unteren Rand nicht beim drehen vom Display "zerquetscht" werden.

Bleiben noch die beiden "Static Field" Warnungen von dem "AsyncTask" die ich ja erst mal ignorieren kann und sich irgendwann von selbst auflösen wenn das Projekt weiter geht.

...die Aktuelle App habe ich wieder in Anhang gelegt...


Angehängte Datei(en)
.zip  EasyGrow.zip_10.3.18.zip (Größe: 220,96 KB / Downloads: 32)

"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
15.03.2018, 02:00
Beitrag #37
RE: Arduino <=> Nexus 7 los geht´s
Hallo Arduinos
Leider habe ich meine Ziele für diese Woche nicht erreicht. Ich wollte in der "ActionBar" der App eine IP-Liste haben. So das ich mehrere Arduinos Ansprechen könnte.

Eigentlich nichts was Geheimnisvoll wäre, aber ich musste bitterlich die Erfahrung machen das es mir schwer fällt mit dieser Versions- Hierarchie zurecht zu kommen. Vielleicht habe ich mich auch nur irgendwie verzettelt...

Am Ende habe ich einfach ein neues Projekt quasi als "Rohling" aufgemacht und das Dark-Style als "Default" genommen.
Ich lasse erst mal die Finger von den extra Wünschen und mache mit den Basics weiter.

Alleine die Tatsache das beim Installieren einer Schriftart (Font) aus den IDE "Quellen" bzw. dem Menu heraus der Anfänger mit den anschließenden Fehlermeldungen allein gelassen wird, macht ich nicht froh. Naja, ist wohl pädagogisch wertvoll, aber nur für Fortgeschrittene ist die anschließende Warnung eine logische Konsequenz aus der User-Aktion.

Die Schriftart funktioniert natürlich aber die "friendly Warning" besagt das irgend welcher "font_familiy" Code fehlt, bzw. irgendwer im System nicht auf die neuen Quellen zugreifen kann. Kommt mir als Anfänger so vor als würde die linke nicht wissen was die rechte tut...

OK, das soll nicht meine Sorge sein, ich muss nicht dafür sorgen das alle Geräte dieser Welt meine App verstehen oder sogar damit umgehen können. Es reicht wenn das Nexus7 mit Andoid 5.1.1 und der API 22 mit meiner App zurecht kommt.

-Ich habe mich dann lieber weiter um die Button gekümmert. Die können sich ja noch nicht daran erinnern welchen Status sie zu Letzt hatten. Ich habe dafür diesen "PreferenceManager" benutzt. Und ich stehe auch hier wieder am Anfang, so lange das Display nicht gedreht wird oder die Activity beendet wird ist alles gut.

-Ich hatte ja am Anfang meine "OnClick" Funktion soweit hingebogen das ich das passende Image für den passenden Status hatte, der Manual-Button wird blockiert usw. Dieses mal muss ich das ganze irgendwie diesen "PreferenceManager" beibringen die Button richtig einzustellen wenn das Display gedreht wird oder die Activity startet.

Und das ist ja noch nicht alles, am Ende muss ich ihm noch beibringen die Änderungen am Display vor Ort auch mit zu bekommen. Sobald ich am LCD vom Slave (Mega2560) etwas ändere wird das nach Abschluss der Aktion ja zum Master und dann zum Nexus gesendet. So zumindest der Plan vom Anfang...

-Ab jetzt können sich die Button Ihren eigenen Status merken und werden beim Drehen vom Display oder Starten der Activity richtig von der App Eingestellt.

Als nächstes muss ich die Änderungen von dem 2. UI in die App übertragen und in den PreferenceManager Schreiben. Ich habe es bis heute geschafft mich in keiner Android Gemeinde Anzumelden um Probleme zu lösen. "Etwas Stolz, Ich bin"

Es gibt da sowieso noch ein paar "Preference" die ich einpflegen muss, die Timer z.B. sind dann als nächstes dran schließlich muss ich auch hier dann die Änderungen am 2. UI auch wieder Übertragen usw.

Im Anhang mein jetziger Arduino Sketch und der neue "App-Rohling", den ich auch mit Inspektor-Lint Untersucht habe um die Fehler/Warnungen etc. zu beseitigen. Die bekannten 2 sind geblieben und einer ist dazu gekommen, den ich aber quasi auch ignorieren kann wie der Inspektor auch behauptet. Da ich die Set-IP Activity beibehalten und daran Basteln will werde ich jetzt nicht auf Ignorieren klicken. Viele Dinge lösen sich mit Glück im laufe eines Projekts eh auf, darum werde ich jetzt nicht in Panik ausbrechen.

Ich bleibe weiter am Start und versuche nicht in Android Code-Schnipzel zu versinken indem ich kleine Schritte mache...

gruß


.zip  WemosD1_15.3.18.zip (Größe: 6,04 KB / Downloads: 20)

.zip  EasyGrow.zip_15.3.18.zip (Größe: 219,51 KB / Downloads: 23)

"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 2.084 02.06.2016 10:38
Letzter Beitrag: SkobyMobil
  2 LCDs und eins geht nur Gandalf 10 3.600 12.06.2015 13:59
Letzter Beitrag: eftokay83
Question [Problem] TFA Nexus über Arduino auf WeatherUnderground übertragen Alfonz_Ritzek 0 2.169 28.03.2015 10:42
Letzter Beitrag: Alfonz_Ritzek
  Arduino Neuling: Zugeklappten Laptop mit Arduino aufwecken + Kiste aufklappen? Ikearegal 2 6.770 02.02.2014 07:59
Letzter Beitrag: Ikearegal

Gehe zu:


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