Tag 4: UDP Bidirektional

In dem gestrigen Projekt wurde die UDP-Kommunikation in eine Richtung, also vom Board zum PC getestet. In diesem Programm wird das Modul so eingestellt, dass eine Kommunikation auch in die andere Richtung möglich ist, fast so wie in einem Chat.

Hinter dem vierten Türchen des Adventskalenders befindet sich ein Widerstand mit 1 kΩ (Braun, Schwarz, Rot). Das Bauteil wird in dem heutigen Versuch noch nicht verwendet, sollte aber unbedingt für später aufbewahrt werden.

Das Programm: Day4_UDPBidirectional

Das Programm von heute enthält im Grunde nur eine minimale Änderung, welche aber große Wirkung auf die Kommunikation mit dem UPD-Protokoll hat. Wenn Sie das Programm hochladen, wird erneut ein AccesPoint erstellt, mit dem Sie sich mit dem PC verbinden können. Auch diesmal werden Sie das Packet Sender, oder ein vergleichbares Programm benötigen. Starten Sie das Programm und nehmen Sie dieselben Einstellungen wie gestern vor (File-> Settings->Network: Enable UDP Server, Port 90). Anschließend müssen Sie nun noch im Hauptfenster im Feld IP-Adresse die Adresse des Moduls (192.168.4.1) eintippen, den Port auf 91 stellen und im weiter rechts stehenden Dropdown Menü den Punkt UDP wählen. Sind diese Einstellungen gemacht und der Serial Monitor geöffnet, können Sie nun die erste Nachricht an das Modul senden indem Sie  z.B. Hi in das mit ASCII beschriftetet Feld eintippen.

Der Packet Sender hat erfolgreich Hi gesendet

Der Packet Sender hat erfolgreich Hi gesendet

! Achtung: Einige MAC-Nutzer berichten von einem Bug in dem PackerSender-Programm, welcher nicht erlaubt, die Ports umzustellen. Es gibt allerings auch die Möglichkeit die Ports in dem Arduino Programm zu verändern. Falls das Problem auftritt, müssen Sie für den heutigen Versuch die Zeile 54 von
succes &= sendCom(„AT+CIPSTART=\“UDP\“,\“192.168.4.255\“,90,91″, „OK“);
in
succes &= sendCom(„AT+CIPSTART=\“UDP\“,\“192.168.4.255\“,55005,55006″, „OK“);
umändern.

Wenn Sie nun auf Send klicken, erscheint im Serial Monitor

+IPD,2:Hi

OK

Die Nachricht wurde also empfangen. Sie können nun auch antworten indem Sie wieder den CIPSEND-Befehl benutzen, also z.B.

AT+CIPSEND=7

>Hello

Chatten über zwei Geräte ist also möglich, wenn auch sehr umständlich.

Der Text wurde erfolgreich gesendet

Der Text wurde erfolgreich gesendet

 

101 Kommentare

  1. Schlork

    Bei mir klappt alles bestens und problemlos (nachdem ich meine alte Arduino-Version aktualisiert hatte). Bisher habe ich auf dem PC Packet Sender verwendet. Heute habe ich mal nach Android Apps geschaut und „UDP TCP Server Free“ installiert. led1 und led0 funktionieren, aber ich kann leider keine UDP-Nachrichten für den Poti empfangen. Hat das jemand hinbekommen? Den Incoming Port habe ich durchprobiert. 0, 8080, 8000, 91, klappt alles nicht.

    Antworten
    1. Schlork

      Sorry, falscher Blog, sollte nach Tag 7…

      Antworten
  2. Leuchten

    Leute!

    Die Probleme 1 und 2 habe ich jetzt selbst gelöst.
    Aber es ist ein neues aufgetreten. Der Packet Sender sendet zwar etwas aber ich sehe nichts im seriellen Monitor.

    Antworten
    1. Leuchten

      Hi,

      auch das zweite Problem ist gelöst. Ihr müsst darauf achten im Arduino die Einstellung des ersten Tages beizubehalten und die abgebildeten Daten des Packet Senders auch so zu übernehmen wie es abgebildet ist. Die letzte Anmerkung traf auch schon für die vorherigen Tage zu, d.h. immmer darauf achten was in den Screenshots enthalten ist. Leider fehlt dazu ein Hinweis !

      Antworten
  3. Leuchten

    Hi,

    ich habe ein Problem, nein zwei um genau zu sein.

    1. Wenn ich in das Feld der IP-Adresse die vorgegebene IP eintragen will, nimmt der Packet Sender das nicht an und ändert sie in 62.157.140.133. Ich habe keine ahnung was da los ist, habe sämtliche Einstellungen überprüft etc.

    2. Wenn ich das Programm auf die Platine hochladen will kommt eine Fehlermeldung. Dies habe ich schon gelöst (in den Einstllungen Port und Platine geändet),
    aber wenn ich das Programm dann hochlade kommen ein paar unleserliche Zeilen und danach nix mehr.( Wortlaut:
    ¾¸ˆþæ
    Ö?þÍÈg÷Ì (das Rechteck sieht im seriellen Monitor etwas anders aus.)

    Ich hoffe ihr könnt mir da helfen.

    Antworten
  4. Hr. Paderborn ;-)

    Hallo zusammen,
    ich habe auch Tag 4 gerade geschafft und möchte mich bei den Mitstreitern hier mal bedanken.

    „Der chinesische Treiber war wohl mehr oder weniger der Schlüssel zum Erflog unter Win7“

    Der Blog hier ist weit informativer und hilfreicher als die mitgelieferte Dokumentation.

    Danke und weiterhin viel Spaß und hoffentlich Erfolg ;-)

    Antworten
  5. jens

    da der ganze adventskalener auf UDP aufbaut und viele user hier an den ersten tagen bereits scheitern, sind alle weiteren tage nutzlos. Daher sollten der/die autor(en) endlich mal für alle gängigen betriebssystem eine aussagekräftige anleitung bereitstellen- nach dem motto „keine vorkenntnisse notwendig“.

    Antworten
    1. Orientale Sarda

      …etwas drastischer formuliert, aber schlussendlich mein reden…

      Antworten
  6. jens

    Nein. ich selbst bin kein anfänger und bekomme alles zu laufen. es ärgert mich aber das sowas unter „keine Vorkenntnisse“ verkauft wird. ich kenne einige die dies ihren kindern geschenkt haben und absolut frustried sind, weil auch die eltern KEINE VORKENNTNISSE haben. Zudem miserabel getestet. Probleme mit packetsender unter mac und linux. wurde vorher wahrscheinlich nie ausprobiert. sorry nicht aktzeptabel.

    Antworten
    1. Skayo

      Ich bin 14 Jahre und hab das Arduino Starterkit durchgemacht. Dadurch verstehe ich eigentlich alles und es funktioniert auch alles. Ohne jene helfenden Eltern. Wenn man vor hat diesen Kalender jemanden zu schenken, sollte man wissen ob derjenige sich mit dem Thema auch etwas auskennt. Da kann Conrad nichts dafür! Wenn derjenige noch nie was mit Mircocontrollern gemacht hat, sollte man ihm erst das Arduino Starter Kit besorgen und nicht gleich mal ein Wlan Modul.
      Jegentlich das „Keine Vorkenntnisse benötigt“ sollte man weglassen. Das stimmt. Aber auch wenn das dort steht, sollte man sich informieren.
      mfg

      Antworten
      1. Skayo

        *sollte man sich darüber informieren

        Antworten
  7. jens

    Also die Idee ist genial. Sollte ich nächstes jahr auch mal versuchen. ich sammle 24 billige chinateile, kopiere mir den passenden quellcode aus dem internet und packe das ganze hinter 24 türchen, schreibe ein paar unvolständige Sätze dazu und verticke das mit namen **inka bei einem großen anbieter für 50€. das wars. über den support brauch ich mich ja dann nicht zu kümmern. wird ja alles von anderen hier online gemacht.

    Antworten
  8. Lisa

    Als absoluter Neuling und Unwissender habe ich manchmal so meine Probleme, aber es macht trotzdem Spaß.

    Antworten
  9. Manuel.

    kann mich bei tag 1 nicht mit dem Netzwerk verbinden darum gehen die anderen tage auch nicht kann mir wer helfen

    Antworten
    1. Manuel

      stimmt das man sich nur den port auswählen kann wenn das Nano Board am pc angeschlossen ist

      Antworten
      1. Hr. Paderborn

        Hallo Manuel,
        welches Betriebsystem benutzt Du?
        Kannst Du das Programm erfolgreich auf den NANO aufspielen?
        1.Öffne einmal das ARDUNIO-Programm
        2. Geh auf Datei -> Voreinstellungen
        3. Dann die Haken
        Ausführliche Ausgabe währen Kompilierung und beim Hochladen setzen.
        4. Wenn Du das nächste Mal die Datei hochladen willst, zeigt er Dir die möglichen Fehler besser an.

        Antworten
        1. Manuel

          kann die dinge jetzt ausführen ausser wenn der iot nicht am pc angeschlossen ist

          Antworten
          1. Klaus

            Das ist klar. Die Platine benötigt eine Stromversorgung. Wenn sie nicht irgendwo angeschlossen ist (PC, Netzteil, Akku), dann kann sie nicht funktionieren. Die eine bleue LED muss auf jeden Fall leuchten.

  10. Leo

    Hi,
    bin bei Tag 5, weil ich morgen nicht kann.
    Klappt, Led an / aus!
    Wer kennt ein Packet Sender für Andoid?
    Danke und Grüsse Leo

    Antworten
    1. jz

      Ich verwende „TCP/UD Terminal“ aus den Google Play Store.
      Geht einfach.

      Antworten
  11. Basti

    Gibt es einen weg die IP des NanoESP zu ändern denn es gibt bei mir Probleme mit meinem anderen Netzwerk??

    Antworten
    1. Klaus

      Ja,
      AT+CIPAP=“192.168.0.1″
      Inzwischen gibt es aber neue Befehle, die das Board soweit ich weiß auch unterstützt:
      Temporär ändern:
      AT+CIPAP_CUR=“192.168.0.1″
      Dauerhaft ändern:
      AT+CIPAP_DEF=“192.168.0.1″

      Antworten
      1. Basti

        und das beeinträchtigt die weiteren „Experimente“ überhaupt nicht wenn ich das jetzt änder.

        Antworten
        1. Klaus

          Wenn Du AT+CIPAP_CUR nimmst, sowieso nicht, da die Einstellung nach abschalten wieder weg ist. Nimmst Du AT+CPIP_DEF, dann in gewissem Maße ja, da Du die IP dauerhaft änderst. Du musst dann in Zukunft die IP immer in den Programmen anpassen, dann funktioniert es wieder.

          Antworten
  12. Roland G. Hülsmann

    Ich habe jetzt die Variante „withoutAP“ probiert, aber ich kann auf SEND herumhämmern, wie ich möchte, es kommt im Monitor nichts an. der umgekehrte Weg funktioniert prächtig.
    Gestern Nacht hatte ich mit dem Original-Sketch und dem Andriodphone mit UDP-Sender/Receiver exakt das umgekehrte Problem.

    Gruß
    Roland

    Antworten
  13. Michael06

    Es hat perfekt geklappt !!! Freue mich auf die nächsten Teile!

    Antworten
  14. Basti

    Ich habe das Problem
    Bei mir geht das Senden vom NanoESP zum Computer aber nicht das senden vom Computer auf den NanoESP.
    Wo könnte mein Problem liegen.
    Und schon mal danke Im voraus.

    Gruß Basti

    Antworten
    1. Hartmut

      Bei mir war es umgekehrt. Alles noch mal neu starten (Reset Taste auf dem Board, PacketSender neu starten) und danach ging es bei mir.

      Antworten
      1. Basti

        Habs Probiert hat aber leider Nichts Gebracht.
        Aber Trotzdem Danke.

        Antworten
        1. Klaus

          Hast Du das heutige Programm drauf geladen? Am besten nochmal drauf laden, vermutlich ist noch das gestrige drauf.

          Antworten
          1. Basti

            Ist das heutige hab es extra nochmal draufgeladen hat aber leider nichts geholfen.

          2. Klaus

            Dann würde ich mal fast auf ein Firefallproblem tippen. Hast Du auch nochmal geschaut, ob die Einstellungen auch passen? Der Zielport ist in diesem Fall 91, nicht dass Du 90 genommen hast.

          3. Basti

            Hast du noch eine andere Idee an was es liegen könnte

    2. Basti

      Der Port ist auch richtig eingestellt also daran kann es nicht liegen.
      Und mit der Firewall hängt es auch nicht zusammen habs grad Probiert als die Firewall deaktiviert war.

      Antworten
      1. Basti

        Hier nochmal als beweis das alles richtig eingestellt ist
        http://i.imgur.com/KneNI4b.jpg

        Antworten
        1. Klaus

          Also, da muss ich sagen, fällt mir auch erstmal nix mehr ein. Hast Du vielleicht nen anderen Rechner, Smartphone oder Tablet, mit dem Du das probieren kannst?

          Antworten
      2. fk (Beitrag Autor)

        Hi,
        in dem Bild kann ich sehen, dass du alles richtig Eingestellt hast, daran wird es nicht liegen.

        Du könntest aber mal Probieren was passiert, wenn du die IP im Packet-Sender auf 192.168.4.255 stellst. Kommt dann etwas am NanoESP an?

        Antworten
  15. Tanja

    Der hier konstruktiv geäußerten Kritik möchte ich zum Teil zustimmen.

    Die präsentierten Erklärungen sind dürftig. Ich kann den Code in den Sketchen nicht wirklich nachvollziehen. Die Sketche selber haben zu wenig Kommentare um „ohne Vorkenntnisse“ begreifen zu können was hier passiert. Geschweige denn um selbst etwas Code zu schreiben.

    Die Erläuterung (Kommentare im Code) von SmenTrick am zweiten Tag fand ich sehr nützlich. Eine derartige Erläuterung habe allerdings ich von den Autoren des Kalenders erwartet.

    Bisher finde ich die Experimente auch wenig langweilig, da ich selbst nichts zu den Experimenten beitragen kann. Den Sketch des Tages downloaden, auf den Arduino schieben und ein paar Zeichen eintippen ist zu wenig um daraus etwas zu lernen. Da müssten zumindest umfassende Erklärungen geliefert werden, idealerweise sollte jeden Tag eine Aufgabe präsentieren die man selbst lösen muss.

    Antworten
  16. Santiago

    Was ist eigentlich der Sinn des Kalenders? Dass man nach 24 Tagen zumindest halbwegs weiß, wie man einen Microcontroller ins Netzwerk einbindet, würde man meinen. Doch bis jetzt habe ich nur ein vorgefertigtes Programm, zudem es keinerlei Erklärung gab, auf das Board geladen und das Resultat betrachtet. Ich hoffe sehr, dass irgendwann der verwendete Code erklärt wird. Wenn das nicht der Fall ist, ist der Kalender eine reine Zeitverschwendung!

    Antworten
    1. Orientale Sarda

      …auch du wirst enttäuscht…
      Es wird so weitergehen.
      1. Schaltung nach Bildchen Nachfummeln
      2. Programm kompilieren und hochladem
      3. Ohhhh sagen….

      Antworten
      1. Rainer

        Für die, die gegen die Enttäuschung anarbeiten wollen :

        Ich habe mit den AT Befehlssatz als PDF heruntergeladen ( der Link ist schon genannt worden ), den Programmfluss angeschaut und dann die AT Befehle in der Doku studiert. Da hat mir ein besseres Verständnis der Programmierung des ESP Modules gegeben.

        Dies ist kein Kalender zum Schokoessen sondern erfordert schon einige Arbeit, allerdings hätte das Conrad schon deutlicher machen sollen !

        Zur Schaltung :

        Das Board aus dem Kalender besteht aus einem Arduino Nano und dem angesetzten ESP Modul.
        Auf „arduino.cc“ sind alle Modelle aufgelistet, das Modell aus dem Kalender ist vom PinOut mit dem Arduino Nano identisch ( USA Produkte, in EU ist der Nano nicht aufgeführt ).
        Schaltung und Eagle Files kann man von dort herunterladen.
        Das Board hat zwei blaue LED ( Power und die LED an PIN 13? zum Ansteuern ), das ESP Module hat eine rote LED ( Power ). Es ist gefragt worden, ob man die Farbe der LED verändern kann : ohne Austausch der LED geht das nicht !
        Zum Unterschied zu den Nanos, die ich habe, ist der Kalender Nano nicht mit dem FTDI Chip bestückt, der USB zu Seriell wandelt sondern mit dem CH340.

        Das ESP Modul findet man auch auf der Espressif Seite, auf der auch der AT Befehlssatz beschrieben ist, mit einem bischen Suchen findet man dort wohl auch die Schaltung des Modulteils.

        Es kostet etwas Zeit, aber mit ein bischen Schokolade macht das dann auch Spaß und hilft mir zu verstehen, wie ich vom PC oder Smartphone über WLAN oder Bluetooth Geräte steuern kann.

        Antworten
        1. Orientale Sarda

          Tolle Tip sund Hinweise, die bestimmt vielen weiterhelfen werden.
          Man kauft sich so einen Klaender ja eben nicht, um „mal eben ein bisschen zu basteln“ sondern um damit zu lernen, Erfahrungen zu sammeln und schlussendlich auch eigene Projekte umzusetzen.
          Danke für deine Recherche Rainer.
          Nur das mit der Shcokolade wird hier nix.
          Bei uns ist kaum vernünftige Schokolade zu bekommen ;)

          Antworten
        2. Hartmut

          Richtig gesehen Rainer.

          Die bisherige Kritik beschreibt den Kalender zwar richtig, aber für mich war schon klar, dass ich mich damit beschäftigen muss und nicht beschäftigt werde. Das heißt also mehr oder weniger mühsam die Informationen aus verschiedenen Quellen zusammen suchen.

          Man konnte sich ja das Anleitungsheft vor der Bestellung ansehen und sich von der Qualität und dem vorausgesetzten Know-How überzeugen. Auch wurde das „Wifi-Board“ auf dieser Webseite schon im August beschrieben und ich habe die Gelegnheit benutzt mir vor dem Öffnen des ersten Türchens schon die Entwicklungsumgebung inkl. USB Treiber zu installieren. Daher wurde meine Erwartungshaltung voll erfüllt und ich bin nach wie vor begeistert von dem Kalender.

          Ich muss allerdings zugeben, wäre ich nicht so gut vorbereitet gewesen, so hätten mich die auftretenden Fragen (als Arduino und Atmel Neuling) auch schlichtweg überfordert.

          Antworten
        3. Klaus

          Leider stimmt diese Aussage nicht komplett. Die Schaltung des Arduino Nano stimmt nicht ganz mit der Platine überein. Die Widerstandswerte und die Anordnung der LEDs ist ebenfalls anders.

          Antworten
  17. anonym

    wie kann man eine aus Variable abgespeicherte Zahl über WLAN auf den Packet Sender schicken, ohne irgend etwas in den serial Monitor zu schreiben:

    Antworten
    1. Klaus

      Schau mal ins Beispiel von Tag11 (habe ich jetzt per Zufall mal so raus gepickt).

      boolean sendUDP(String Msg)
      {
      boolean succes = true;

      succes &= sendCom(„AT+CIPSEND=“ + String(Msg.length() + 2), „>“); //+“,\“192.168.4.2\“,90″, „>“);
      if (succes)
      {
      succes &= sendCom(Msg, „OK“);
      }
      return succes;
      }

      Das dürfte schon die komplette Funktion sein, die Du suchst.

      Antworten
      1. anonym

        Danke! Das habe ich gesucht!

        Antworten
  18. Klaus

    Ich muss meinen Vorrednern im größten Teil leider zustimmen. Ich programmiere nebenberuflich, programmiere schon länger Atmels (nicht mit Arduino), bin Elektronik- und IT-Fortgeschrittener/Experte und habe schon ne Weile ESP8266-Module und mich damit beschäftigt. Trotzdem hatte ich mit dem Board anfangs Probleme. Das fing schon ganz banal an, dass dort mehrere LEDs drauf sind und nirgendwo steht, was diese denn anzeigen. Ist es gut, wenn LEDx leuchtet, oder ist das ein Warnsignal? Muss LEDx vielleicht leuchten, damit überhaupt was geht? Wofür ist der Taster? Absolut keine Doku.
    Meiner Meinung nach hätte am allerersten Tag erstmal das Board selbst und die Arduino-Umgebung selbst erläutert werden müssen. Com10 wollte diese aus unerfindlichen Gründen nicht, Nummer geändert und es ging. Das sind aber alles Dinge, die der Laie einfach nicht hin bekommt. Wenn der Kalender schon „ohne Vorkenntnisse“ nutzbar sein soll, dann müssen die Vorkenntnisse einfach geliefert werden. Netzwerksicherheit ist eines meiner Spezialgebiete, Firewalls&Co sind mir geläufig. Der Laie steht vor einem Problem, was er nicht lösen kann.
    Die Syntax der Befehle, die benutzt werden, werden nirgendwo erklärt. Die Beschreibung hier auf der Homepage ist lückenhaft, da Parameter teilweise gar nicht erwähnt werden. Einzig, wofür die gerade gezeigte Zeile gut ist, wird beschrieben. Das reicht aber einfach nicht aus.

    Was die Kosten angeht, so ist Arduino anscheinend insgesamt sehr teuer. Wenn man sich die Einzelteile kauft, kosten diese einen Bruchteil. Da das Modul an sich 30€ kostet, ist der Kalender an sich nicht so überteuert, sondern das Modul an sich. Aber das kann dem Autor nicht angelastet werden.

    Einzig die Projektdoku könnte besser sein. Ein echtes Forum würde ich auch bevorzugen. Wieviele identische Fragen, vor allem dass die Kommunikation zum Board nicht funktioniert, kamen da schon? Bei einem Forum fällt die Suche nach identischen Fragen einfach wesentlich leichter und diese müssen nicht ständig neu gestellt werden.

    Antworten
    1. Bernd

      Das sehe ich auch so.
      Da es mein erstes Arduino-Board ist und ich eher direkt mit den Atmel-Controllern arbeite, habe ich Schwierigkeiten mit Bezeichnungen wie Pin D10. Welcher Port und welches Bit ist denn das bitte schön? Ein Schaltplan zu dem Board wäre da hilfreich, damit man sehen kann, woran die LEDs angeschlossen sind und damit ihre Bedeutung ermitteln kann.
      Ansonsten hatte ich keine Treiberprobleme unter Linux (Gentoo). Mit dem Board über USB zu kommunizieren, klappte reibungslos.

      Antworten
      1. Klaus

        Nach einer Schaltung hatte ich schon am Tag1 gefragt. Leider keine Reaktion auf meine Frage :-(

        Antworten
        1. General Overnight

          Ich halte es für sehr wahrscheinlich, dass diese Informationen hinter den restlichen 20 Türchen zutage treten ;-)

          Antworten
          1. Orientale Sarda

            …um so bedauerlicher, das dein Optimismus enttäuscht wird…
            es kommen eher noch mehr Fragen auf…

        2. Madcow

          Mal so eine Vermutung: Guckt euch mal die Dokumentation eines Arduino Nano an..und an welchen Pins der ESP hängt dürfte aus dem Beispielprogramm des Tag 1 schon deutlich geworden sein.

          Antworten
          1. Rainer

            Hallo,

            ich hatte schon in einem anderen Beitrag auf den Nano hingewiesen.
            Das PinOut der Stiftleisten ist identisch mit dem nano, allerdings ist der Chip, der USB auf Serial wandelt, ein anderer.
            Es gibt wohl mehrere leicht unterschiedliche Layouts, aber bei allen ist das PinOut identisch, der Reset Taster und die LED können leicht unterschiedlich sein. Zwischen den beiden blauen LEDs sind hier zwei weitere, die die Aktivitäten auf RX/TX zur IDE / Monitor anzeigen.

            Im den Beispielprogrammen steht auch drin, wie das ESP Modul angebunden ist : über eine softwaremäße Emulation einer zusätzlichen seriellen Schnittstelle über die Pins 11 / 12 :
            –> SoftwareSerial esp8266(11, 12); // RX, TX
            Da der ESP Teil einen eigenen Spannungsregler hat, sollte dann +5Volt und GND die weiteren Verbindungen zum Arduino sein.
            Die prinzipielle Schaltung sollte beim Hersteller Espressif finden zu sein, auch dort sind wieder 2 LED für RX/TX zu finden, die den Datenfluss zwischen nano und ESP anzeigen

            Rainer

    2. Lisa

      Sorry, aber das stimmt so nicht. Ich bin Laie, mache sonst nix mit IT oder Elektronik, und habe bislang alles ziemlich schnell und mit den Tips im Forum hinbekommen.
      Wer sich so einen Adventskalender kauft, kann beim besten Willen nicht erwarten, dass er etwas fertig Vorgekautes bekommt.
      Ich hatte bislang jeden Tag keine Frust- sondern Erfolgserlebnisse, wenn Dinge, die ich beim ersten Lesen für völlig unverständlich halte, dann doch ohne Probleme funktionieren. Man muss natürlich schon den Willen mitbringen, sich reinzudenken, und wer bei Office-Programmen schon Angst hat, dass der Computer kaputt geht, wenn man mal „den falschen Knopf drückt“, ist hier sicher falsch – nur kauft der sich doch auch nicht so einen Kalender.

      Antworten
      1. Klaus

        Klar sollte man gewillt sein, was selbst zu machen. Aber die Grundlagen dafür sollten schon erklärt werden. Sehr gutes Beispiel hierfür finde ich die Experiemntierkästen von Kosmos. Dort gibt es sehr gute Erklärungen und trotzdem genug Raum selbst zu experimentieren. Franzis ist da mit seinen Experimenten leider nicht so gut. Man kann einfach nicht von jedem verlangen, dass er sich mit IP und Firewall auskennt. Es gibt zu viele Stolperfallen. Wenn alles gut funktioniert ist das toll. Aber jeder hat unterschiedliche Betriebssysteme, Netzwerkstrukturen und Programme auf dem Rechner. Das ist für den Laien einfach viel zu viel, wo die Fehler zu suchen sind. Damit ist der Laie einfach überfordert und gibt irgendwann frustriert auf. Und wie schon gesagt, um hier sinnvoll helfen zu können, müsste es ein richtiges Forum geben, wo die Fragen in einer thematischen Struktur gestellt werden können. Hier in der Liste geht einfach zu viel unter und wird zugfach gefragt.

        Antworten
      2. Orientale Sarda

        Gut – und nun, gehe mal in dich, un frag was du gelernt hast. Denn das sollte schlussendlich doch der Sinn des Kalenders sein?
        Wenn ich nur was „nachstöpseln“ will, kaufe ich mir nen Lego-Baukasten…

        Antworten
  19. Jürgen

    Zu den Kritiken am Kaleder:

    Ob überteuert oder nicht, liegt im Auge des Betrachters.
    Du kannst jederzeit eine Tafel Schokolade kaufen und kommst sicherlich günstiger weg, als wenn du einen Schoko-Adventskalender kaufst. Wer gleich am ersten Tag einen ganzen Kalender öffnet, ist damit sicherlich besser bedient…
    Das ist aber auch nicht der Sinn eines Adventskalenders.

    Meine Jungs und ich finden ihn super (bin ITler) und ich werde mir kommendes Jahr sicherlich wieder einen holen. Und das, obwohl ich hier einige Arduinos inkl. Zubehörboxen und andere Microcontroller rumliegen habe.

    Macht aber halt einfach jeden Tag wieder Spass!

    Antworten
    1. General Overnight

      Vollste Zustimmung! Ich hatte bis jetzt nur Raspis, BeagleBones & Co laufen, mich aber vor einigen Jahren schon einmal mit Embedded-Systemen der Atmel-Kategorie herumgeschlagen. Das war echte Frickelei. Der Einstig in die Arduino-Welt mit dem IoT-Kalender war dagegen einfacher als meinen ersten Raspi in Betrieb zu nehmen, trotz der Probleme, die auch bei mir aufgetreten sind.

      Antworten
    2. SmenTrick

      Alle, die bisher keine Probleme hatten, sie selbst lösen konnte oder jemand anderen geholfen haben, hatte Vorkenntnisse. Sei es der Bereich IT, Arduino, Netzwerktechnik oder C#.

      Die Investition von 50€ bewirbt Conrad selbst aber mit „Keine Vorkenntnisse nötig“.
      Und genau die Leute, die darauf herein gefallen sind, machen ihrem Frust Luft. Verständlicherweise.

      Antworten
      1. Orientale Sarda

        Versteht mich nicht falsch, ich mahe hier „keinem Frust Luft“.
        Ich bin einfach der Meinung, das der Kalender das Thema verfehlt hat, b.z.w. hätte besser konzipiert sein können.
        Ob ich den Kalender nun an einem tag öffe (was ich bei dem einen gemacht habe, um mit meinem Sohn den anderen „Regelkonform“ nutzen zu können) oder Türchen für Türchen – was ändert das am Kosten/Nutzen Effekt, b.z.w. an der Ausführung?
        Ne Tafel Schokolade hab ich, dnke für den (unqualifizierten) Hinweis.
        Meine Intention war, einen Denkprozess für zukünftige Projekte (Kalender?) zu unterstützen.
        Wenn alle nur schreien „Toll gemacht“ hat der Redakteur keinerlei Ansatz sein Werk zu überdenken.
        „Keine Vorkenntnisse nötig“ – ja, wer darauf reinfällt, hat eben Pech gehabt. Das gilt aber nicht für mich.
        Ich habe alle Experimente zum laufen gebracht, wenn vieles auch nur dank Suchmaschine.
        Es steht z.B. nirgendwo das, geschweige denn wie man den Treiber installiert.
        Natürlich sollte das „jedem“ klar sein, war es mir auch.
        Gefunden habe ich den funktionsfähigen Treiber dann aber erst durch Einträge hier im Forum – nicht Sinn und Zweck der Sache, oder?

        Antworten
  20. General Overnight

    fk schrieb: „Achtung: Einige MAC-Nutzer berichten von einem Bug in dem PackerSender-Programm…“

    Aus diesem Anlass hier auch nocheinmal der Tipp für Mac User von Tag 3:

    Terminal starten und „nc -lup 90“ eingeben, schon läuft der Empfänger für die UDP Pakete auf Port 90.

    Antworten
  21. MC

    Was diesem Forum, und damit den Usern, meiner Meinung nach stark helfen würde, wäre die Möglichkeit, einfach mal schnell den ein oder anderen Screenshot an den Kommentar anzuhängen. Ihr wisst ja: ein Bild sagt ….
    Auf diesem Wege würden viele Dinge sicher schneller zu erklären und auch zu verstehen sein.

    Antworten
    1. SmenTrick

      Diese „Kommentar Funktion“ reicht sicher um ein Thema zu diskutieren, aber nicht um multible Probleme zu lösen. Zu leicht über sieht man Hilferufe oder Lösungsvorschläge.
      Noch besser wäre also IMO ein Forum. Eines in dem die Probleme übersichtlich und sortiert abgearbeitet werden können. (Und natürlich mit Bildern dokumentiert werden kann ;) )

      Antworten
  22. Roman

    Hallo Leute
    Wenn ich den Befehl des Vortages eingebe AT+CWLIF kommt gleich darauf ERROR
    Ist jemand so nett und kann mir wer weiterhelfen denn ich kenne mich bei diesen UPD-SEND Programm gar nicht aus
    W-Lan Verbindung funktioniert aber ab diesen Befehl kommt nur ERROR

    Antworten
    1. Roman_2

      Guten Morgen!
      Könnte es sein, dass du den Befehl kopiert hast und somit ein Leerzeichen nach dem Befehl hast?
      ->Dann kommt auch ERROR ;)

      Antworten
  23. anonym

    Hallo wie kann ich den wert einer Variable (int) an den PC schicken ohne das ich was in den serial Monitor eingieb?

    Antworten
    1. Raabinator

      Serial.print(MeineIntVariable);

      siehe auch: https://www.arduino.cc/en/Serial/Print

      Antworten
      1. Raabinator

        „Serial.println(MeineIntVariable)“ hängt gleich noch einen Zeilenumbruch an.

        Antworten
        1. anonym

          Ich glaube ich habe mich vorher ein bisschen undeutlich ausgedrückt ich meinte wie man über WLAN eine aus Variable abgespeicherte Zahl auf den Packet Sender schicken kann

          Antworten
  24. Orientale Sarda

    SPOILERALARM! Wer weiterliest, wird vielleicht die eine oder andere Überraschung verlieren!

    Erstmal, ich bin eigentlich Programmierer, Hardware ist nicht so wirklich mein Ding.
    Mit dem Kalender wollte ich „einfach nur spielen“.

    Etwas enttäuscht…
    hat mich dieser Kalender schon.
    Die Ausstattung ist mager, viele Teile („Verlängerungskabel“) sind einfach nur „Lückenbüßer“, die nichts mit dem Projekt zu tun haben.

    Die Programme werden in der Dokumentation nicht vernünftig erklärt, was nicht schlimm wäre, wenn sie wenigstens im Quelltext brauchbar Dokumentiert wären. Sind sie aber nicht, man hat den Eindruck, als ob der Autor das „Gutenberg-Prinzip“ angewandt hat (Copy&Paste).

    Die „Baupläne“ sind nur schlechte schwarz-weiss Fotos, zu denen kaum etwas erklärt wird, vielles muss man durch rumrätseln rausbekommen.

    Mein Fazit:
    Der Kalender ist überteuert, für das gleiche Geld bekommt man viel umfangreichere Arduino Starter-Sets, teilweise sogar mit einem Arduino Uno (kompatibelen) Board und deutlich mehr und anspruchsvolleren Sensoren.

    Wäre es möglich, würde ich die Kalender (ich habe auch für meinen Sohn einen gekauft) zurück geben.

    Wenigstens kann sich so der Autor ein paar hübsche Weihnachtsgeschenke für seine Familie leisten…
    (Oder etwas mehr in seinen Server investieren, der auch gestern den ganzen Tag kaum erreichbar war…)

    In dem Sinne,
    Frohe Weihnachtszeit

    Antworten
    1. jz

      Es gibt eine Bestandteilliste im PDF Format und Conrad Bestellnummern und Preisen. Die Summe ist höher als der Preis des Kalenders. überteuert?
      Mir macht der Kalender Spass. Kritik scheint mir nur teilweise berechtigt.

      Antworten
      1. Orientale Sarda

        Ich mag Conrad un kaufe dort gerne und viel ein.
        Als Discounter war Conrad aber noch nie bekannt.
        Schau mal auf Amazon nach Arduino Starter Sets und denk dran, das auch der Nano im Kalender ein China-Produkt ist.
        Doch, er ist überteuert – meiner Meinung nach.

        Antworten
        1. Ulrich

          Ja Conrad war wirklich noch nie ein Diskaunter Das die Einzelteile teuerer sind als der Kalender habe ich zwar noch nicht nachgerechnet wuerde mich aber zumindest ueberraschen…

          Inhaltlich wird wirklich nur sehr wenig oder besser gar nichts erklaert! wie bei dem E-Technikkalender uebrigens auch…

          Ich wuerde fragen wollen ist es eigentlich erlaubt einen Adventskalender mit nur 10 Tuerchen zu Bauen? Das wuerde hier schaetzungwsweise naemlich reichen…

          Spass haben die Experimente aber trozdem gemacht, und im Besonderen auch weil sie bisher auch mit Ubuntu funktionierten.

          Antworten
    2. SmenTrick

      Leider muss ich Dir recht geben. Zum Glück hatte ich bei Conrad nix Anderes erwartet.
      Keine Zielgruppe (IT oder Elektro) der man den anderen Part näher bringen könnte. Statt dessen Bleiben beide auf der Strecke. Viele, wichtige Gesichtspunkte (Betriebssysteme, Firewalls, TCP/IP) wurden einfach ausser Acht gelassen oder werden einfach voraus gesetzt.
      Freilich sind die Programme schon fertig und können, relativ fustfrei, aufgespielt und gestartet werden. Aber man sollte auch bedenken das die Leute nicht nur sehen wollen wie irgend jemand für sie eine leuchtende LED vorbereitet hat, sondern selbst etwas erreichen und mitnehmen.
      Bei der Notiz, das online eine erweiterte Anleitung mit Korrekturen verfügbar wäre, hatte ich mich schon gefreut. Leider artet es aber eher zu einem User-Hilft-User aus.
      Normalerweise sollte jeder Tag etwas schnuffiger laufen. Das Leute mit Know-How die restliche Zeit nutzen können um zu Experimentieren. Und die Ohne trotzdem ein Erfolgserlebniss haben.
      Momentan kommt aber eher „Alpha-Test“-Feeling auf.

      Nunja, mal sehen wieviele Leute wir trotzdem bis Weihnachten „durch“ bekommen. Damit diese zumindest noch den Mut fassen erneut einen Arduino o.ä. anzufassen.

      Vieleicht wird es aber auch besser. Es sind noch 20Tage ;)

      Antworten
      1. Rainer

        Hallo,

        ich kann diesen Kommentaren nur zum Teil zustimmen.

        Da ich zur Zielgruppe „IT und Elektro“ gehöre und auch schon einige Erfahrunngen mit dem Arduino gesammelt habe, hatte ich die von vielen beschriebenen Probleme nicht und bin immer noch begeistert dabei.

        So etwas für die verschiedenen Umgebungen ( Linux, Mac, WXP, W7, W10 ) zusammenzustellen und dann noch die unterschiedlichen Fähigkeiten und Kenntnisse zu berücksichtigen, ist schon eine Mammutaufgabe.

        Es wäre wohl besser gewesen, die Zielgruppe eindeutiger zu beschreiben, so wird bei manchen nur Frust zurückbleiben.

        ABER : wenn man durchhalten und etwas lernen will, ist die Community mit ihren Beiträgen schon sehr hilfreich !

        Nicht aufgeben !

        Rainer

        Antworten
      2. Orientale Sarda

        …ich bin schon durch – nö, es wird eher schlimmer…

        Antworten
      3. General Overnight

        @SmenTrick: „viele, wichtige Gesichtspunkte (Betriebssysteme, Firewalls, TCP/IP) wurden einfach ausser Acht gelassen oder werden einfach voraus gesetzt.“

        Sorry, aber wenn du alle diese Dinge hinein packen willst, dann hast du keinen Adventskalender sondern einen Jahreskalender mit 365 Türen und ein Begleitbuch mit 600 Seiten. Da ist es schon wesentlich besser, hier ein Forum zu haben, in dem die konkret auftretenden Probleme diskutiert und gelöst werden können.

        Außerdem widersprichst du dir m.E. selbst, wenn du anschließend schreibst: „Aber man sollte auch bedenken das die Leute nicht nur sehen wollen wie irgend jemand für sie eine leuchtende LED vorbereitet hat, sondern _selbst_etwas_erreichen_ und mitnehmen.“

        Antworten
        1. SmenTrick

          @General Overnight
          Das ich hier keine IT-Bibel verlange sollte dir hoffentlich klar sein. Ich schreibe selbst IT-Dokumentationen für Anlagenfahrer und weiß wo die Grenzen des machbaren liegen.
          Aber ich finde es schon essentiell z.B. das Thema „Portfreigabe bei Windows Firewall“ zumindest mit einem Link, am Tag 3, zu erwähnen Da wäre sicher 90% der User geholfen gewesen.

          Dem Rest, und vor allem auch den Profis die pro Tag noch einen Schritt weiter gehen, reicht dann ein Forum. Diese Kommentar-Funktion momentan ist bei den sowohl unterschiedlichen als auch wiederkehrenden Problemen vollkommen unzureichend.

          Das „selbst etwas erreichen und mitnehmen“ ist vielleicht etwas ZU allgemein gehalten.
          Ich selbst weiß um die Mangelhaftigkeit von „conradtisierten“ Produkten. Deshalb habe ich genau so eine Doku erwartet.
          Aber es gibt einfach auch Käufer die 50€! hingeblättert haben um festzustellen das „Keine Vorkenntnisse nötig“ ein Grundwissen über c-syntax, Netzwerktechnik und IT-Systeme voraussetzt.
          Vom ersten Tag an hatten viele nur Probleme. Einige sogar Banalst. Jetzt sind wir an Tag vier. Mal sehen wieviele Leute bis zum 10ten Tag das Ding frustriert in die Ecke gepfeffert haben und Nichts vom Thema IoT mitgenommen haben.

          (sarkastisch)
          Vielleicht sollten diese Leute sich einfach ein Lehrbuch kaufen. Eines das „keine Vorkenntnisse erfordert“. Am besten mit fertigem Zeitplan das sie Step-by-Step, jeden Tag, in das Thema einführt.
          (/sarkastisch)

          Antworten
          1. MartinW

            @SmenTrick
            Ich kann dir nur zustimmen. Komme auch aus der IT Branche, habe eine Menge Vorkenntnisse. Natürlich kommt man dann schon irgendwie durch, mal alleine und mal mit Google und vor allem der Hilfe der Profis hier.
            Aber auch für mich hätte es einfacher sein können: Bessere Programmdoku, Fallstricke mit jemandem ohne Vorkenntnisse getestet und mit einem Satz erklärt – das hätte einfach ein besseres Verhältnis aus ‚rumprobieren/suchen‘ und ‚lernen‘ ergeben.
            Ich kann die Leute die hier wirklich „Ohne Vorkenntnisse“ ankommen gut verstehen…

    3. Madcow

      Da hättest du dich aber schon vorher darüber informieren können…das Beiheft gibt und gab es schon lange auf Conrad.de zum Download.

      Zum Thema der Lückenbüßer: Die sind doch Prima um den ESP näher kennenzulernen, hier: AT-Befehle für UDP Sockets.

      Zum Thema Gutenberg: Die Programme haben bisher auch keine Komplexität bzw Schöpfungshöhe bei der man Gefahr laufen könnte geistiges Eigentum zu verletzten. Mit nur wenig Hintergrundwissen (Was z.B. ist UDP, was sind RX, TX bei einem uart) lässt sich das Programm ohne Probleme lesen. Jede weiteren Kommentare macht es nur unleserlicher.

      Als SW-Entwickler finde ich den Kalender soweit Prima, weil man hier mal etwas abschalten kann und gleichzeitig etwas neues (esp8266) ausprobieren kann. Ja es ist teuer (Definition von Hobby), die Platine sieht aber technisch dafür etwas hochwertiger als andere esp8266 Platinen aus, die ich bisher gesehen haben.

      Man hätte allerdings die Zielgruppe etwas genauer definieren können.

      Antworten
  25. Leo

    Hi,
    klappt einwandfrei.
    Hat der Arduino von Hause aus eine Firmware drin?
    Besteht dadurch evtl. die Gefahr des „Überschreibens“
    Gibt es einen Timeout?
    Grüsse Leo

    Antworten
    1. jz

      Der esp8266 chip (WLAN-Teil) hat eine Firmware. Der Arduino einen Bootloader (auch eine Firmware).

      Antworten
    2. Leo

      Danke!
      Also kann man, wenn man der Arduino- IDE nutzt,
      auch mal eigene Prog. flashen ohne etwas zu killen?!
      Mit „TimeOut“ meinte ich die Verbindung zw. Server / Client vom Tag 04.
      Die Verbindung bleibt immer offen, bis man sie
      manuell trennt?
      Grüsse Leo

      Antworten
      1. jz

        Die Arduino IDE lädt den Anwender-Code mittels dem Bootloader in den Flash-Speicher des ATmega328. Den Bootloader kann man auch „flashen“ mittels Programmer; lässt man aber besser bleiben.
        UDP ist meines Wissens verbindungslos, nur die Zieladresse wird mittels AT+CIPSTART im esp8266 gespeichert. Der Timeout betrifft vermutlich die Verbindung ATmega-esp8266. Aber so genau weiss ich das natürlich auch nicht, als Arduino-Neuling (und Neu-Fan).

        Antworten
  26. jz

    Bei mir funktioniert es nicht mit Multicast (192.168.4.255), nur direkt (192.168.4.2). Bei Tag 5 und 6 wird es noch merkwürdiger: die Rückmeldung „LED=1“ kommt bei Multicast durch, die Meldungen „Wrong UDP Command“ und „Button=1“ dagegen nicht. Dediziert geht. Haben die NanoEsp unterschiedliche Firmware? Die Libraries habe ich aufdatiert.

    Antworten
    1. Ralf

      Bei mir funktioniert das senden an die Broadcast-IP in den meisten Fällen auch nicht. Ich hab ein tcpdump parallel laufen und da hab ich ein Einzelfällen aber durchaus schonmal ein Paket an 192.168.4.255 gesehen. Aber selbst mit festgelegten Schritten (Arduino anschliessen, serielle Konsole öffnen, WLAN-Client connecten und auf DHCP warten, AT+CIPSEND und Playload eingeben) funktioniert der Broadcast meistens nicht.

      Einen anderen Interessanten Effekt habe ich hier auch noch: Auch wenn definitiv nur ein Paket in Richtung Arduino übers Netz geht, wird das manchmal mehrfach in der seriellen Konsole reported.

      Die Firmware auf dem ESP ist:

      AT version:0.22.0.0(Mar 20 2015 10:04:26)
      SDK version:1.0.0
      compile time:Mar 20 2015 11:00:32

      Gruß,
      Ralf

      Antworten
      1. jz

        Danke für die Info. Habe die gleiche Version.
        Bei mir geht Broadcast (Multicast im Subnetz), wenn ich die Verschlüsselung ausschalte (CWSAP mit Parameter 0 statt wie vorher gewählt 3). Deshalb gehen die Versuche mit unveränderten Beispielen.
        Ab Tag 7 werden die Effekte dann auftreten, da hoffentlich die meisten Nutzer verschlüsselte WLAN verwenden!

        Antworten
        1. jz

          Sorry, Fehlinformation, geht bei mir auch unverschlüsselt nicht. Hatte die Zieladresse noch im CIPSEND als Parameter drin beim Versuch.

          Antworten
    2. Jörg

      Bei mir funktioniert Multicast, wenn ich den UDP-Mode-Parameter 2 in Zeile 54 ergänze („destination peer entity of UDP is allowed to change“), also:

      „AT+CIPSTART=\“UDP\“,\“192.168.4.255\“,90,91,2″

      Antworten
      1. jz

        Danke für den Vorschlag. Hat bei mir nichts genützt, im Gegenteil, nichts mehr ging durch.

        Muss wohl an der Firmware des esp8266 liegen. Meine Version sagt:
        RESET OK
        AP ready
        UDP ready

        AT+GMR

        AT version:0.22.0.0(Mar 20 2015 10:04:26)
        SDK version:1.0.0
        compile time:Mar 20 2015 11:00:32

        OK

        Ich wäre interessiert, bei welchen Versionen Multicast geht und bei welchen nicht.

        Hat schon jemand den Update Befehl versucht? Ist der gefährlich? AT+CIUPDATE.

        Antworten
        1. jz

          Ist geklärt. Mit packetsender erfolgreich getestet auf Windows 10. Voraussetzung: Netzwerkverbindung als privat bezeichnet, nicht als öffentliches WLAN.
          Die „TCP/UDP Terminal“ App scheint nicht geeignet zu sein.

          Antworten
          1. tb

            Kann jz nur bestätigen UDP multicast wird nicht im öffentlichen Netz unterstützt; hatte dieselben Effekt wie in diesem Thread.
            Fall es jemand im Nachhinein (d.h. nach dem es als Öffentlich klassifiziert wurde) umstellen will, hier ist ein Link:
            http://www.deskmodder.de/wiki/index.php?title=Netzwerk_%C3%B6ffentlich_privat_%C3%A4ndern_Windows_10

            Die erste ALternative hat nicht funktioniert, aber die 3. nachdem man mit Rechtsklick auf den Netzwerklisten-Manager-Richtlinien „Alle Netzwerke“ auswählt bevor man das NanoESP dann auswählen kann.

  27. Max

    Funktioniert perfekt.

    Ich freue mich schon darauf eigene Programme mit dem Ding zu schreiben :)

    Toller Kalender, immer wieder gern!

    Antworten
  28. Robin

    Hier ist wieder eine Version ohne AP.
    Wie gestern müssen die Variablen angepasst werden und im Packet Sender programm muss die IP angegeben werden die der Mikrocontroller vom Router zugewiesen bekommen hat.

    https://dl.dropboxusercontent.com/u/4491727/Day4_UDPBidirectionalWithoutAP.zip

    Antworten
    1. Tommy

      Danke für den tollen Service :D

      Antworten
  29. hawi

    Die digitale Blechdosen-Kommunikation hat richtig Spaß gemacht!
    Ich freue mich schon auf Tag 5 !!

    Antworten
    1. hugo

      Deaktiviere mal die deine Firewall

      Antworten
  30. René

    Klasse Kalender, freu mich schon auf nächtse Jahr IOT 2…

    Antworten
  31. Ralph

    Funktioniert einwandfrei! Einfach super der Kalender! Freu mich schon auf das nächste Türchen in ca. 24 Stunden :D (Auch wenn ich „Morgen“ nicht schon um Punkt 12 Zeit habe…. :(

    Vielen Dank für alles!

    Antworten
    1. JoergOgait

      bei mir geht mit diesem Programm nur die Senderichtung PC an Nano. Wenn ich am Nano Monitor AT+CIPSEND=7 und hallo eingebe, kommt zwar SEND OK, am Packetsender wird jedoch nichts angezeigt (läuft auf nem Apple)

      Antworten

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.