2017-01-07

Wifi Scanner with ESP8266 + TFT ST7735B (NodeMCU)

After successful connect the ESP8266 with the ST7735 display I want to do more than the demo - so here comes a Wifi Scanner.

Same hardware setup as in the previous blog post.



And here is the source code:

16 Kommentare:

  1. Excelente trabajo amigo, está muy chevere!

    AntwortenLöschen
  2. Hallo, ich hätte mal gern die genaue anschlußbelegung des TFT Display, danke

    AntwortenLöschen
    Antworten
    1. Schau mal hier: http://www.handverdrahtet.org/2017/01/esp8266-nodemcu-18-inch-tft-lcd-display.html

      Löschen
  3. Hallo, kann man den kompletten richtigen Code (Arduino Software (IDE))auch runterladen?
    Den Oben habe ich Kopiert und in die Arduino Software (IDE)eingefügt. Kommen folgende Fehlermeldungen:

    WLAN__Scanner:13:14: error: missing terminating ' character
    13 | -- we won't be using the HSPI /CS line, so disable it again
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    WLAN__Scanner:1:1: error: expected unqualified-id before '--' token
    1 | -- setup SPI and connect display
    | ^~
    WLAN__Scanner:38:5: error: 'wd' does not name a type
    38 | wd["ssid"] = k
    | ^~

    Ich nehme an das dies mit dem Kommentaren zu hat? Ich bin nun auch Neuling auf dem Gebiet.
    Würde mich freuen wenn ich das hinbekomme. Mit freundlichen Grüßen michael

    AntwortenLöschen
    Antworten
    1. Der Code ist in Lua geschrieben, der läuft nicht in der Arduino IDE. Ich hatte damals die NodeMcu IDE benutzt.

      Löschen
    2. Sehr Schade, gibt es da sowas wie ei übersetzer?
      Genau dieser Wifi Scanner with ESP8266 + TFT ST7735B (NodeMCU), würde mich interessieren.
      Danke und schönes Wochenende

      Löschen
  4. Hallo ich bin am verzweifeln,
    ich habe jetzt mal versucht das Programm auf einen ESP8266 hoch zuladen.
    Dafür habe ich folgendes Programm benutzt um den lua-File hoch zuladen:

    ESPlorer v0.2.0 by 4refrOnt

    vorher habe ich ein einfaches Blink.lua hoch geladen ging perfekt

    dann habe ich wlanscanner.lua (habe ich so genannt und befindet sich in einen gleichnamigen Ordner.

    wlanscanner.lua ladet einwandfrei kommen auch keine Fehlermeldungen.
    Außer am Schluß ---> Da steht dann "not enough memory" (nicht genügend speicher)

    FS-Info zeigt aber:

    Total: 3441461 byte
    Used: 5522 beyte
    Remain: 3435939 byte

    An was kann das liegen, oder was mache ich falsch?
    Habe auch schon mit einen anderen ESP8266 probiert

    Bitte um Hilfe, Vielen Dank und Grüße michael

    AntwortenLöschen
    Antworten
    1. Ich hab den Code aktualisiert - siehe http://www.handverdrahtet.org/2021/11/update-wifi-scanner-with-esp8266-tft.html
      Damit sollte es laufen, brauchst jedoch die selbstzusammengestellte Firmware (siehe https://www.handverdrahtet.org/2017/01/esp8266-nodemcu-18-inch-tft-lcd-display.html)

      Löschen
  5. Habe Firmware wie beschrieben drauf, Wenn ich den neuen aktualisierten Code versuche drauf zu spielen kommt diese fehlermeldung:
    ESP module reboot detected!
    Event: internal NodeMCU exception or power fail.
    Please, try again.
    Hier kann ich nur OK drücken und nix.
    Ich habe das Display "ST7735S SPI 160 x 128 RGB" wie folgt verdrahtet:

    D4 GPIO2------------A0
    GND-----------------GND
    3,3V----------------3,3V
    D5 GPIO14-----------SCK
    D7 GPIO13-----------SDA
    D8 GPIO15-----------CS
    3,3V----------------LED
    D0 GPIO16-----------RESET)

    Was könnte das sein, gibt es doch nicht , muß doch funktionieren.

    AntwortenLöschen
  6. Du musst noch einen Widerstand von ca 10k von D8 nach GND legen. Und 3.3 auch an BL (Backlight).
    Im ESPlorer solltest du nach dem Connect so eine Meldung sehen:
    ORT OPEN 115200

    Communication with MCU..Got answer! Communication with MCU established.
    AutoDetect firmware...

    Can't autodetect firmware, because proper answer not received (may be unknown firmware).
    Please, reset module or continue.
    (irgend welches Kauderwelsch hier ....)
    NodeMCU 3.0.0.0 built on nodemcu-build.com provided by frightanic.com
    branch: release
    commit: d4ae3c364bd8ae3ded8b77d35745b7f07879f5f9
    release:
    release DTS: 202105102018
    SSL: false
    build type: float
    LFS: 0x0 bytes total capacity
    modules: bit,file,gpio,net,node,spi,tmr,uart,ucg,wifi
    build 2021-11-22 17:49 powered by Lua 5.1.4 on SDK 3.0.1-dev(fce080e)
    cannot open init.lua:


    AntwortenLöschen
  7. Habe alles so gemacht mit widerstand 10k kommt bein hochladen immer das folgende:

    ESP module reboot detected!
    Event: internal NodeMCU exception or power fail.
    Please, try again.

    Hier kann ich nur OK drücken und nix.

    Die Meldungen wie du sie beschreibst sind korekt so auch bei mir.

    Der ältere Code ladet zwar bis zum Schluß der so aussieht:

    > file.flush();file.close();
    > dofile("wlanscanner.lua");
    Lua error: wlanscanner.lua:185: attempt to call field 'register' (a nil value)
    stack traceback:
    wlanscanner.lua:185: in main chunk
    [C]: in function 'dofile'
    stdin:1: in main chunk
    [C]: ?
    [C]: ?
    >


    Diese Infos kann ich auch abrufen:

    Total : 3486139 bytes
    Used : 6275 bytes
    Remain: 3479864 bytes

    > =node.heap()
    32008
    > =node.info()
    Warning, deprecated API! node.info() without parameter. It will be removed in the next version. See documentation for details.
    3 0 0 12551604 1458415 4096 2 40000000
    > =node.chipid()
    12551604
    > =node.flashid()
    1458415
    >

    Habe schon ESP und TFT getauscht nix.

    Als TFT benutze ich ein 1,8" ST7735S SPI 128 x 160 V1.1

    Danke!

    AntwortenLöschen
  8. So ich habe mir jetzt das von Ihnen verwendete Display besorgt.
    Welches ich nun ebenfals über den ESP8266 Node MCU angeschlossen habe.
    Aber ich habe VCC auf +5Volt legen müssen, 3,3Volt geht nur wenn J1 gebrückt ist.
    Der von Ihnen verwendete "GraphicsTest" läuft auch einwandfrei durch.

    Aber leider läuft der WLAN Scanner Code nicht. Nur weiser Bildschirm.

    Der geänderte Code von Ihnen, bricht nach abarbeiten der Anfangskommendare
    mit dem folgenden Hinweis ab:

    ESP module reboot detected!
    Event: internal NodeMCU exception or power fail.
    Please, try again.

    Hier kann ich nur OK drücken

    Weiter gehts es nicht, TFT bleibt weis

    AntwortenLöschen
    Antworten
    1. Ok, hab den Fehler jetzt auch bekommen. Aus irgendeinem Grund gibt es mit den ersten Kommentarzeilen ein Problem. Nach dem ich die Zeile 11 aufgeteilt habe, geht es jetzt bei mir. Falls es so bei dir nicht geht, dann einfach die Kommentarzeilen löschen.

      Löschen
  9. Hallo, habe den neuen Code geladen und funktioniert.
    Jetzt muß ich nur noch wissen wie der Code weiter läuft wenn ich den "ESPlorer" beende?
    Dann bleibt der Code stehen und nix geht mehr, erst wenn ich den "ESPlorer" starte und den Port anwähle und den Code erneut hoch ladefunktioniert es wieder.
    Grüße michael

    AntwortenLöschen
    Antworten
    1. Sehr gut. Um den Code beim Start auszuführen, empfehle ich das Skript von http://www.handverdrahtet.org/2016/04/first-steps-with-esp-01-on-os-x-el.html zu verwenden (als init.lua auf dem ESP speichern) und dann das Skript für den WifiScan in user.lua umbenennen.
      Das init.lua Skript wird beim Einschalten geladen und ausgeführt. Es wartet kurz ob die weitere Ausführung mit Return unterbrochen werden soll, sonst startet es das user.lua Skript.

      Löschen
  10. Vielen lieben Dank für Ihre Mühen und Geduld mit mir.
    Ich habe einfach den WLAN-Scanner code in init.lua um benannt und hoch geladen, jetzt klappt alles, wie es soll.
    Also nochmals vielen tausend Dank dafür und bleiben sie und Familie gesund und verbringen Sie angenehme Feiertage im Kreise Ihrer Familie.
    Danke! freundlichst michael

    AntwortenLöschen