Inhaltsverzeichnis

GL-MT300N-V2

Ein einfacher, billiger, sehr kleiner Minirouter für vielfältige Anwendungen, nicht nur als Router.

Derzeit nur bei Amazon und Ebay erhältlich.

Hardware

Pins

gnd rx tx 3,3V
GPIO 4 (SCLK) GPIO 5 (SDA) GPIO 45 GPIO 46

Taster

Schalter

Schiebeschalter mit drei Positionen.

LEDs

von links nach rechts, wenn schmaler Rand unten ist

Die Farbbezeichnung sind irreführend, alle LED sind weiß.

GL-MT300N-V2 mit ATmega

Verbindung für Serielle Schnittstelle und Reset

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:

SV1RouterSolarreglerFarbe
1gnd gnd grau
23,3V nicht fest verbunden rot
3GPIO46 reset (auf GND ziehen)violett
4tx rx blau
5rx txgelb
6D14, gl-mt300n-v2:green:powerSpannungsversorgung 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.

Software/Openwrt

GPIO-Einstellungen

Änderungen in der dts-Datei:

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>;
};
Einstellungen am laufenden Openwrt

Zusätzliche Pakete auf dem Router

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

Kommunikation GL-MT300N V2 mit ATmega über RS232

Um die Kommunikation über die serielle Schnittstelle nicht zu stören muss die Ausgabe der Logdaten über diese ausgeschalten werden:

Flashen des ATmega mit avrdude

Ablauf:

  1. hex-File auf Router speichern (z.B. scp upload.hex root@192.168.1.1:/tmp/upload.hex)
  2. sichere Stromversorgung des Routers einschalten
  3. ATmega reset
  4. avrdude
  5. sichere Stromversorgung des Routers ausschalten

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.