Ich habe mal den Quellcode für Reverse Geolocation Lookup per Nominatim, den ich für Freifunk-Knoten genutzt habe, von dem Rest getrennt und unter https://git.fireandbrimst.one/aw/ReverseGeoLookup gepackt.
Compatible board in Arduino: NodeMCU-32S
Pin (GPIO) | Function |
---|---|
14 | Button 3 |
15 | Buzzer |
21 | I2C SDA |
22 | I2C SCL |
26 | Button 1 |
27 | Button 2 |
32 | WS2812 Pin 1 |
34 | ADC In (Battery) |
35 | ADC Illuminance |
8x32 LEDs
The rows are connected with alternating base indices (i.e. row 0 starts at 0 and ends at 31, row 1 starts 63 and ends at 32) - in serpentine fashion, if you like.
Shifting one red pixel through the LED matrix.
You need the NeoPixelBus library by Makuna (installable inside the Arduino IDE).
#include <NeoPixelBus.h>
#define ROWS 8
#define COLS 32
#define NUM_PIXELS (ROWS*COLS)
#define WS2812_PIN 32
NeoPixelBus<NeoGrbFeature, NeoWs2812xMethod> ulanzi(NUM_PIXELS, WS2812_PIN);
RgbColor red(255,0,0);
RgbColor black(0,0,0);
void setup() {
ulanzi.Begin();
pinMode(15, OUTPUT);
digitalWrite(15, 0);
}
void loop() {
int i = 255;
while (true) {
ulanzi.SetPixelColor(i, black);
ulanzi.SetPixelColor((i+1)%256, red);
ulanzi.Show();
i++;
i = i % 256;
}
}
Send GSM-AT commands from a computer via serial console > Raspberry Pi Pico > SIM800L in order to phone home.
SIM800L | Raspberry Pi Pico |
---|---|
RX | UART1_TX / GP8 / Pin 11 |
TX | UART1_RX / GP9 / Pin 12 |
GND | GND / Pin 38 |
VCC | VBUS |
Caution: Voltage is a little above spec this way, but it suffices for tests.
#define S2_TX 8
#define S2_RX 9
UART Serial2(S2_TX,S2_RX,0,0);
void setup() {
Serial.begin(9600);
Serial2.begin(9600);
}
void loop() {
while (Serial2.available() > 0) {
Serial.print(Serial2.readString());
delay(10);
}
while (Serial.available() > 0) {
Serial2.print(Serial.readString());
delay(10);
}
}
Then open a serial console (e.g. inside the Arduino IDE)
Command | Meaning |
---|---|
ATI | Get info about the SIM800L board, make sure it’s connected |
AT+CSQ | Check signal quality, answer: +CSQ: FLOATVAL, everything above 10,0 is OK |
AT+COPS? | Check net login (e.g. D1) |
ATD+49123456789; | Call +49 1234 56789 (mind the semicolon) |
ATH | Hang up |