Ein einfacher, billiger, sehr kleiner Minirouter für vielfältige Anwendungen, nicht nur als Router.
Derzeit nur bei Amazon und Ebay erhältlich.
gnd | rx | tx | 3,3V |
GPIO 4 (SCLK) | GPIO 5 (SDA) | GPIO 45 | GPIO 46 |
Schiebeschalter mit drei Positionen.
von links nach rechts, wenn schmaler Rand unten ist
Die Farbbezeichnung sind irreführend, alle LED sind weiß.
Anschluss mit GND, TX, RX, Reset.
Wird die Stromversorgung des GL-MT300N-V2 vom ATmega geschalten muss dafür gesorgt werden, dass diese nicht während des Reset und Flashen abgeschalten wird.
Anschluss des GL-MT300N-V2 an Solarregler der Bienenwaage:
SV1 | Router | Solarregler | Farbe |
---|---|---|---|
1 | gnd | gnd | grau |
2 | 3,3V | nicht fest verbunden | rot |
3 | GPIO46 | reset (auf GND ziehen) | violett |
4 | tx | rx | blau |
5 | rx | tx | gelb |
6 | D14, gl-mt300n-v2:green:power | Spannungsversorgung eingeschalten lassen (auf 3V ziehen → LED aus) | blaues Einzelkabel |
4 (SCLK) | braun | ||
5 (SDA) | orange | ||
GPIO45 | grün |
Für die Spannungsversorgung musste die LED gl-mt300n-v2:green:power genommen werden, da bei Verwendung der einfacher verfügbaren GPIO 45, 4 und 5 die Stromversorgung nicht mehr abgeschalten werden konnte.
Das Einzelkabel ist einfach an die LED auf dem Routerboard angelötet.
Ohne diese Änderungen lässt sich GPIO 46 nicht nutzen und der Router nicht abschalten.
&pinctrl { state_default: pinctrl0 { gpio { ralink,group = "wdt", "gpio", "wled_an", "p0led_an", "p1led_an", "i2s", "i2c", "uart1"; ralink,function = "gpio"; }; }; };
gpio-leds {…
power { label = "gl-mt300n-v2:green:power"; default-state = "off"; retain-state-shutdown; gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; };
Openwrt auf dem Router mit den Paketen:
Bei der Verwendung in der Bienenwaage zusätzlich die Pakete:
Über LUCI eth2 einrichten, zu WAN zuordnen
Der Huawei USB-Stick „vergisst“ immer mal seine Einstellungen bezüglich des APN. Es kommt dann keine Internetverbindung zustande sondern man kann nur z.B. die Seiten von Vodafone erreichen. Umstellen unter 192.168.8.1
Um die Kommunikation über die serielle Schnittstelle nicht zu stören muss die Ausgabe der Logdaten über diese ausgeschalten werden:
kernel.printk = 0 4 1 7
einfügen/anpassen
Ablauf:
Das Timing von Reset und avrdude scheint nicht perfekt zu passen und avrdude kann manchmal keine Verbindung zum Atmega aufbauen. Ist aber egal, da meist der zweite Versuch funktioniert.
Das ganze zusammengefasst in einem Script:
#!/bin/sh # einschalten der Stromversorgung, echo 0 > /sys/class/leds/gl-mt300n-v2:green:power/brightness # Script read_rs232.sh zur Kommunikation mit Arduino beenden ps | grep [r]ead_rs232.sh | awk '{print $1}' | xargs kill -9 $1 sleep 1 # Pin für Reset konfigurieren und Reset des Arduino auslösen echo 46 > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio46/direction echo 1 > /sys/class/gpio/gpio46/value echo 0 > /sys/class/gpio/gpio46/value # das unter /tmp/upload.hex hochgeladene Programm auf den Arduino flashen avrdude -C/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyS0 -b57600 -D -Uflash:w:/tmp/upload.hex:i sleep 2 # dauerhafte Stromversorgung des Routers ausschalten echo 255 > /sys/class/leds/gl-mt300n-v2:green:power/brightness # Script zur Kommunikation mit Arduino wieder ausführen bash /etc/scripte/read_rs232.sh &
Beachtet werden sollte, dass der GL-MT300N V2 nach dem Flashen des ATmega eventuell anschließend vom Strom getrennt wird. Falls z.B ein USB-Stick als Speichermedium eingebunden ist kann dieses bzw. dessen Dateisystem Schaden nehmen.