I enjoyed this tutorial. Would really like a tutorial on the proto mode with a couple of examples. I am experimenting with a NRF supermini board and would love to have "smarter" integrations if possible with secondary MCU's like AtTIny
Actually, I found the meshtastic-arduino library on github, but it seems too heavy to run on small MCU's like AtTiny, so I'll try to stick to textmsg mode for now.
Yukon from Canine Rocket Technologies, who is on our Discord, came up with that design. It's called the T-Urban: www.printables.com/model/485729-t-beam-enclosure-urban-meshtastic I'm just running it without a window.
Is there a way to turn the RAK wireless relay module on and off remotely ??? I want to have a mountaintop repeater but I want to put a strobe light on it I can turn on temporarily and see it 5 mi away ???
Hi Ben. Not sure the best place to ask for help but here goes. I am trying to use the simple mode as I think that suits what I need. Using 2 433MHz heltec v3. I am doing a live race display board for my Rc car club. The output from the pc is serial. I have this working over cable but want to make wireless. I am use raspberry pico and want to keep uart based. In Meshtastic I have allocated a channel called serial on one radio. I have a matching setup on other radio that isn’t set with name serial as trying for test to use Meshtastic app messages. Will it work this way for test or do I need both ends to be set with channel serial and send data across by another uart? Ultimately I need uart to uart but trying to get one end working first so testing with messages. But I’m not getting data either way. I have tried a number of gpio. The usb to ttl serial I have works with the debug port so that seems to be working.
I would like to control the Meshtastic radio board from the Meshtastic android app via a wired (USB) connection vs. Bluetooth. Is that possible? Basically want to same app features and controls but not over Bluetooth. Any information would be appreciated. Thank you!
Thanks for the clearness, is it possible to communicate like, an Arduino connected to T-Echo with i2c interface? because t-echo tx and rx are used by gps. Ps. maybe I correct myself, I can set rx and tx pin as written in the docs i think, any advice?
I'm not sure I understand what you're asking, but there is the ability to use a secondary MCU to send information to your Meshtastic device via the serial module.
I cant get this to work in SIMPLE mode. I can RX messages sent when in NMEA & CalTopo modes. I can RX & TX messages to LongFast in TextMSG mode (Even tho I can't see what im typing despite ECHO ON being enabled, It does send) But in SIMPLE mode I cant get anything sent from one node to the other, I do have a channel names "serial" and I can exchange messages in the serial chat room from one node to another but when I send serial data to the node it does not come out the other node. Any ideas?
I have solved this issue, When creating/copying the "serial" channels encryption key the Meshtastic app sometimes changes what you have inputted into the PSK text box, For example (and you wont need to save/send it): If you goto Radio configuration > Channels > Click the {+} > In the PSK textbox type (Without correcting it) "noediting" you will see "ngediting==" (Please note the first two letters). This is what caught me out, the "serial" channel had different encryption keys. The other thing is "Echo enabled" does not seem to work as expected: 1) In Default/Simple mode it does nothing, No characters are echoed back to the screen. 2) In TEXTMSG mode is also does not echo type characters back to the screen although it does send them.
Glad yo hear you figured this out. Can you open an issue in the appropriate client's GitHub repository so that can be tracked (assuming there isn't one already)? Thanks!
Well I have just updated to version 2.3.6 and found a new problem with the PSK window. Both nodes now have v2.3.6 firmware, The T-Beam accepts the PSK code & The Heltec V3 rejects the same PSK code. Give it a try yourself, The code (That I'm no longer using) was orriginally auto generated in v2.3.2 for my admin channel. 1ZO5KzZW4PbadFudgxM0sSkRNv7h3q1lxkrCRfE/wns= Sorry if you was expecting me to post in GitHub issues but as you havent addressed the provious issue I'd post where I'v had more corrispondance.
Well... I am trying this with a Heltec V3. If I select some GPIO, the board is going crazy! It get stuck in a permanent reboot loop (tried on pin 12 and 23). I cannot make it send a simple "Hellow World" via UART from a basic software serial on an Arduino board... I tried a lot of GPIO (last is on #2) but at no avail. I have the latest B firmware. Any suggestions please?
When you are configuring your pins are you using the physical PIN number or the GPIO number? You'll want to use the GPIO number. You can find those here: meshtastic.org/docs/hardware/devices/heltec/?heltec=v3#pin-map Two open pins you can use are 45/46.
It's possibile. We rely on a small delay to determine when a packet is complete. The output of a BBS is a bit stream. There may be a way to code in some sort of flow control, but then it wouldn't be "SIMPLE" anymore. All totally possible.
Now i can Control my Light, Code ist in German so licht = light :) const int ledPin = 12; // Pin für die LED char receivedText[30]; // Ein Puffer zum Speichern der empfangenen Nachricht int textIndex = 0; // Der aktuelle Index im Puffer bool ledStatus = LOW; // Der aktuelle Status der LED void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, ledStatus); // Setzen Sie den Anfangszustand der LED Serial.begin(9600); // Start der seriellen Kommunikation bei 9600 Baud } void loop() { // Wenn Daten über die serielle Schnittstelle empfangen werden while (Serial.available() > 0) { char c = Serial.read();
// Überprüfen Sie, ob das empfangene Zeichen ein Zeilenumbruch ist if (c == ' ') { // Null-Terminierung zum Puffer hinzufügen receivedText[textIndex] = '\0';
// Überprüfen Sie, ob die empfangene Nachricht "licht" enthält if (strstr(receivedText, "licht") != NULL) { // Überprüfen Sie, ob sich der Status der LED ändert if (ledStatus == LOW) { digitalWrite(ledPin, HIGH); // LED einschalten ledStatus = HIGH; Serial.println("LED eingeschaltet"); } } else { // Überprüfen Sie, ob sich der Status der LED ändert if (ledStatus == HIGH) { digitalWrite(ledPin, LOW); // LED ausschalten ledStatus = LOW; Serial.println("LED ausgeschaltet"); } }
// Zurücksetzen des Puffers und Index memset(receivedText, 0, sizeof(receivedText)); textIndex = 0; } else { // Zeichen zur empfangenen Nachricht hinzufügen if (textIndex < sizeof(receivedText) - 1) { receivedText[textIndex++] = c; } } } }
I'm piggy backing on these to monitor a remote water tank quantity level using the serial output. Amazing modules, worked right out of the box.
So that's how it works? So useful!
I enjoyed this tutorial. Would really like a tutorial on the proto mode with a couple of examples. I am experimenting with a NRF supermini board and would love to have "smarter" integrations if possible with secondary MCU's like AtTIny
Actually, I found the meshtastic-arduino library on github, but it seems too heavy to run on small MCU's like AtTiny, so I'll try to stick to textmsg mode for now.
Excellent work on the video, Ben. Much appreciated!
Isn't Ben awesome?
@@jmcasler1512 💯
Thanks a lot! Can you please tell me where you got this lovely cover-print for the t-beam?
Yukon from Canine Rocket Technologies, who is on our Discord, came up with that design. It's called the T-Urban:
www.printables.com/model/485729-t-beam-enclosure-urban-meshtastic
I'm just running it without a window.
Amazing I can use my modules from fpv drones now ! Had a bunch of 2grams m10 gps with uart will try em out
Is there a way to turn the RAK wireless relay module on and off remotely ??? I want to have a mountaintop repeater but I want to put a strobe light on it I can turn on temporarily and see it 5 mi away ???
Hi Ben. Not sure the best place to ask for help but here goes. I am trying to use the simple mode as I think that suits what I need. Using 2 433MHz heltec v3. I am doing a live race display board for my Rc car club. The output from the pc is serial. I have this working over cable but want to make wireless. I am use raspberry pico and want to keep uart based. In Meshtastic I have allocated a channel called serial on one radio. I have a matching setup on other radio that isn’t set with name serial as trying for test to use Meshtastic app messages. Will it work this way for test or do I need both ends to be set with channel serial and send data across by another uart? Ultimately I need uart to uart but trying to get one end working first so testing with messages. But I’m not getting data either way. I have tried a number of gpio. The usb to ttl serial I have works with the debug port so that seems to be working.
Were you able to get this figured out? If not, I would suggest joining our discord and someone can likely get you the information you need.
I would like to control the Meshtastic radio board from the Meshtastic android app via a wired (USB) connection vs. Bluetooth. Is that possible? Basically want to same app features and controls but not over Bluetooth. Any information would be appreciated. Thank you!
Yes, the android app allows for a USB connection. You should see the device in the hardware list to select when you plug it in.
Thanks for the clearness, is it possible to communicate like, an Arduino connected to T-Echo with i2c interface? because t-echo tx and rx are used by gps.
Ps. maybe I correct myself, I can set rx and tx pin as written in the docs i think, any advice?
I'm not sure I understand what you're asking, but there is the ability to use a secondary MCU to send information to your Meshtastic device via the serial module.
I cant get this to work in SIMPLE mode.
I can RX messages sent when in NMEA & CalTopo modes.
I can RX & TX messages to LongFast in TextMSG mode (Even tho I can't see what im typing despite ECHO ON being enabled, It does send)
But in SIMPLE mode I cant get anything sent from one node to the other, I do have a channel names "serial" and I can exchange messages in the serial chat room from one node to another but when I send serial data to the node it does not come out the other node.
Any ideas?
I have solved this issue,
When creating/copying the "serial" channels encryption key the Meshtastic app sometimes changes what you have inputted into the PSK text box,
For example (and you wont need to save/send it): If you goto Radio configuration > Channels > Click the {+} > In the PSK textbox type (Without correcting it) "noediting" you will see "ngediting==" (Please note the first two letters).
This is what caught me out, the "serial" channel had different encryption keys.
The other thing is "Echo enabled" does not seem to work as expected:
1) In Default/Simple mode it does nothing, No characters are echoed back to the screen.
2) In TEXTMSG mode is also does not echo type characters back to the screen although it does send them.
Glad yo hear you figured this out. Can you open an issue in the appropriate client's GitHub repository so that can be tracked (assuming there isn't one already)? Thanks!
@@Meshtastic Thank you,
Also I have just added an issue to the "Meshtastic-Android" github titled "Missbehaving text box for channels PSK"
Well I have just updated to version 2.3.6 and found a new problem with the PSK window.
Both nodes now have v2.3.6 firmware, The T-Beam accepts the PSK code & The Heltec V3 rejects the same PSK code.
Give it a try yourself, The code (That I'm no longer using) was orriginally auto generated in v2.3.2 for my admin channel.
1ZO5KzZW4PbadFudgxM0sSkRNv7h3q1lxkrCRfE/wns=
Sorry if you was expecting me to post in GitHub issues but as you havent addressed the provious issue I'd post where I'v had more corrispondance.
Well... I am trying this with a Heltec V3. If I select some GPIO, the board is going crazy! It get stuck in a permanent reboot loop (tried on pin 12 and 23). I cannot make it send a simple "Hellow World" via UART from a basic software serial on an Arduino board... I tried a lot of GPIO (last is on #2) but at no avail. I have the latest B firmware. Any suggestions please?
When you are configuring your pins are you using the physical PIN number or the GPIO number? You'll want to use the GPIO number. You can find those here: meshtastic.org/docs/hardware/devices/heltec/?heltec=v3#pin-map
Two open pins you can use are 45/46.
Could the "SIMPLE" mode be used to offer access to a serial-BBS?
It's possibile. We rely on a small delay to determine when a packet is complete. The output of a BBS is a bit stream. There may be a way to code in some sort of flow control, but then it wouldn't be "SIMPLE" anymore. All totally possible.
@@Meshtastic I was thinking of using tcpser to tie the serial port of a meshtastic device to a telent BBS.
Is there a way to receive messages over the serial connection? I would like to turn on the light at home :)
Now i can Control my Light, Code ist in German so licht = light :)
const int ledPin = 12; // Pin für die LED
char receivedText[30]; // Ein Puffer zum Speichern der empfangenen Nachricht
int textIndex = 0; // Der aktuelle Index im Puffer
bool ledStatus = LOW; // Der aktuelle Status der LED
void setup() {
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, ledStatus); // Setzen Sie den Anfangszustand der LED
Serial.begin(9600); // Start der seriellen Kommunikation bei 9600 Baud
}
void loop() {
// Wenn Daten über die serielle Schnittstelle empfangen werden
while (Serial.available() > 0) {
char c = Serial.read();
// Überprüfen Sie, ob das empfangene Zeichen ein Zeilenumbruch ist
if (c == '
') {
// Null-Terminierung zum Puffer hinzufügen
receivedText[textIndex] = '\0';
// Überprüfen Sie, ob die empfangene Nachricht "licht" enthält
if (strstr(receivedText, "licht") != NULL) {
// Überprüfen Sie, ob sich der Status der LED ändert
if (ledStatus == LOW) {
digitalWrite(ledPin, HIGH); // LED einschalten
ledStatus = HIGH;
Serial.println("LED eingeschaltet");
}
} else {
// Überprüfen Sie, ob sich der Status der LED ändert
if (ledStatus == HIGH) {
digitalWrite(ledPin, LOW); // LED ausschalten
ledStatus = LOW;
Serial.println("LED ausgeschaltet");
}
}
// Zurücksetzen des Puffers und Index
memset(receivedText, 0, sizeof(receivedText));
textIndex = 0;
} else {
// Zeichen zur empfangenen Nachricht hinzufügen
if (textIndex < sizeof(receivedText) - 1) {
receivedText[textIndex++] = c;
}
}
}
}
Code is for Arduino Uno
NMEA ONLY outputs GPS data;
TEXTMSG Only outputs incoming messages.
Other settings output nothing.
ua-cam.com/video/iyUzLpNWL7I/v-deo.html
Example how to use Serial with Meshtastic
Great work! That's exactly the kind of application we created it for.
Just one more GPIO detections pliiiiis😢? 😊
Please submit a feature request. Include as much information as you can: github.com/meshtastic/firmware/issues
sound way low.