Cheap wifi repeater
Long time ago (see: https://marcelpetrick.bplaced.net/wp_solutionsnotcode/?p=1266 ) I announced the plan to set up one/some ESP8266 as wifi-repeater and after some tinkering I did.
The device was running during Summer 2020 until now in different locations.
Code comes from martin-ger – kudos to him. Flash the binary and you’re done. Used the ESP-download-tool, as far as I can remember.
The wrapping is quite makeshift, but works. The blinking LED is a bit annoying if used on the balcony at night. will fix the hole for the cable with hot glue. Can run from battery pack or via usb-charger. Ah, yes, the price for the full package is around 3 €.
Performance: throughput is 5 Mbps down and 2 Mbps upstream. Not really much, but better than the local 4G ..
If the ESP8266 is connected via USB to serial terminal (115.200 baud), the output at boot looks like this:
WiFi Repeater V1.2 starting
Config found and loaded
Starting Console TCP Server on 7777 port
mode : sta(3c:71:bf:3a:a2:74) + softAP(3e:71:bf:3a:a2:74)
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
state: 0 -> 2 (b0)
STA: SSID:Katzengast24 PW: removed;) [AutoConnect:1]
AP: SSID:newGreen PW: removed;) IP:192.168.4.1/24
Clock speed: 80
CMD>state: 2 -> 3 (0)
state: 3 -> 5 (10)
connected with Katzengast24, channel 10
dhcp client start...
connect to ssid Katzengast24, channel 10
STA: SSID:Katzengast24 PW: ;) [AutoConnect:1]
AP: SSID:newGreen PW: ;) IP:192.168.4.1/24
Clock speed: 80
station: a4:9b:4f:05:55:be join, AID = 1
station: a4:9b:4f:05:55:bejoin, AID = 1
Configure via serial by doing:
set ssid Katzengast24
set password removed;)
set ap_ssid newGreen
set ap_password removed;)
MicroPython (uPython) – the future is here
My activity with the ESP8266/ESP32 boards had somehow fallen asleep after I set up one of the ESP8266 as Wifi-repeater. It worked, but creating own devices was too cumbersome. Firing up the ArduinoStudio took ages, building and downloading the firmware in C++ was error-prone, took ages (seriously, this is a tiny program, what the hell happens in the background?).
But I knew there exists a path, which could save some time: µPython (micropython). It runs a firmware, you just deploy your “code”. In my case now a tiny hello-world-like program.
I used this and that tutorial and the uPyCraft-IDE. Got it working with an ESP8266 in minutes.
Seriously: goodbye crappy, non-structured and slow-to-build C/C++ for my microcontrollers. The future is here o/
By the way: the motivation also comes from my current daily practice of Python (of course, I still contribute to C++/Qt-based projects), but my current flame is Python (for Project Euler and daily coding challenges).
Heltec WifiKit 8
Ordered myself two Wifikit8 Esp8266-based boards from Aliexpress.
Received them after roundabout two weeks and now the fun can start.
With the integrated 0.91″ display (128×32 Pixel) a lot of effort for integrating some display or LEDs can be saved. Just noticed that a LiPo-charger is built-in as well, wow. For 4,50 € not a bad choice. But I am not 100% sure if this is the real device or some copycat – nevertheless: in the end the functionality matters.
First project-idea is to create an extended and verifyable version of the random-reviewer. With display of the currently chosen person, a big buzzer-button as trigger and a web-interface for those who doubt the true randomness ..
- https://robotzero.one/heltec-wifi-kit-8/ – hints for the board itself
- https://www.bastelgarage.ch/heltec-wifi-kit8-board-esp8266-32mbit – hints for the board itself
- https://github.com/olikraus/u8g2/wiki/u8x8reference#drawstring – library for drawing text; works well
I want my Wifi-repeater. Now!
Three weeks ago, while being in the garden, I noticed that there is no network connectivity except by superslow EDGE. Of course, three walls block the Wifi-router, but what about one repeater which is closer and just shielded by one wall? Also I remembered having read about the usage of some ESP-nodes for that. I don’t like the approach of buying some closed-source-product.
Short research yielded the project from martin-ger on Github, which I wanted to use. I was surprised that nothing for the ESP32 is available (only for ESP8266). So I tracked down my single ESP8266 (LoLin, NodeMCU, not sure which revision, but with CH340G-USB-connect and as DevKit (mingling with pulldown-resitors would add another layer of complexity, which I am not sure I want to tackle).
Turns out I could not flash the given item properly with the ESP8266 Download Tool 3.65. It blinks while doing so, but follow-up seral-monitoring onyl yields “lolin ts Jan 8 2013,rst cause:2, boot mode:(3,6)”.
So I ordered a from a german shop a new ESP8266. Looks like exactly the same model.
Will do some quicktest now with the blink-app (basic functionality and flashing works?). And then do a test with the ESP Download tool.
More later ..