Hopefully you'll make some pictures or videos for those who can't attend!
Posts made by Madhias
-
RE: 💬 MySensors @Eindhoven Maker Fair 2017 2-3 September
-
RE: 'getConfig' was not declared in this scope (V2.1.1) - FIXED
@Newzwaver If I remember correctly you have to change in your sketches from
getConfig()
togetControllerConfig()
-
RE: [SOLVED] device_tracker unable to load / known_devices.yaml not found after HA update
@martinhjelmare OK, It was not an update, since when booting the gateway device from my backup drive I have the same radio problem. So I'll have a look onto that. The gateway is installed on a Raspberry Pi 3, powered by the 'normal' micro USB adapter. I could exchange the capacitor on the radio there as a start.
[EDIT] Solved, just 'touched' the capacitor and wobbled around on the gateways radio, and radio communication works again. Sorry for the confusion...
-
RE: [SOLVED] device_tracker unable to load / known_devices.yaml not found after HA update
@martinhjelmare I'll do right now, what can be the problem there. Very strange, since it was working perfect for a long time now, maybe an update broke it (HA and Rasbian Lite). I have a fear about radio problems though, to solve them. It must be the gateway, since it is the same for all sensors.
-
RE: [SOLVED] device_tracker unable to load / known_devices.yaml not found after HA update
@martinhjelmare Thanks again for your help! In the HA log this is the only error shown. I installed it in a Python virtual environment, the path locations are correct – I called the user homeass
But looking at my gateway log there seems to be another error, with all sensors the same output:
TSF:MSG:READ,3-3-255,s=255,c=3,t=7,pt=0,l=0,sg=0: TSF:MSG:BC TSF:MSG:FPAR REQ,ID=3 TSF:CKU:OK,FCTRL TSF:MSG:GWL OK !TSF:MSG:SEND,0-0-3-3,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
-
[SOLVED] device_tracker unable to load / known_devices.yaml not found after HA update
Hi,
I am not sure if my problem fits in here or rather to Home Assistant itself, but after an upgrade of HA to 0.48.1 sensor information is not updated, only after restarting Home Assistant once, but with an old value (the one before upgrading). I updated netdisco manually as always to the now correct version (1.0.1). Maybe that is the cause? The Philips Hue lamp is detected and working.
ERROR (MainThread) [homeassistant.components.device_tracker] Unable to load /home/homeass/.homeassistant/known_devices.yaml: Config file not found: /home/homeass/.homeassistant/known_devices.yaml
Do I have to use the device_tracker component now which I did not used before? Is the problem related to netdisco? Creating manually the *.yaml file did not help (of course).
-
RE: Correct presentation of Sensebender temperature and humidity?
@martinhjelmare It works now! I think it is a hardware issue I have here, since I just put the decoupling capacitor in between the radio and the pin header socket. Checking that connection helped (pushing again in), and the presentation was correct now - including the sketch name.
-
RE: Correct presentation of Sensebender temperature and humidity?
I thought I have a correct sketch now, but as I loaded the sketch to another sensor, something must be wrong, since I always get this error in the Home Assistant log:
WARNING:mysensors.mysensors:Node 2 is unknown INFO:mysensors.mysensors:Requesting new presentation for node 2 INFO:homeassistant.components.mysensors:No sketch_name: node 2 WARNING:mysensors.mysensors:child_id 1 already exists in children of node 2, cannot add child WARNING:mysensors.mysensors:child_id 2 already exists in children of node 2, cannot add child
The json file looks like it got some values (I just changed the format for better reading here):
{ "2": { "sketch_version": "1.4", "children": { "1": { "type": 6, "id": 1, "description": "", "values": { "0": "25.6" } }, "2": { "type": 7, "id": 2, "description": "", "values": { "1": "65" } } }, "sensor_id": 2, "type": 17, "protocol_version": "2.1.1", "sketch_name": null, "battery_level": 104 } }
This is the sketch:
// Enable debug prints to serial monitor #define MY_DEBUG // Define a static node address, remove if you want auto address assignment #define MY_NODE_ID 2 // Enable and select radio type attached #define MY_RADIO_NRF24 //#define MY_RADIO_RFM69 // Enable to support OTA for this node (needs DualOptiBoot boot-loader to fully work) #define MY_OTA_FIRMWARE_FEATURE #include <SPI.h> #include <MySensors.h> #include <Wire.h> #include <SI7021.h> #ifndef MY_OTA_FIRMWARE_FEATURE #include "drivers/SPIFlash/SPIFlash.cpp" #endif #include <EEPROM.h> #include <sha204_lib_return_codes.h> #include <sha204_library.h> #include <RunningAverage.h> //#include <avr/power.h> // Uncomment the line below, to transmit battery voltage as a normal sensor value //#define BATT_SENSOR 199 #define RELEASE "1.4" #define AVERAGES 2 // Child sensor ID's #define CHILD_ID_TEMP 1 #define CHILD_ID_HUM 2 // How many milli seconds between each measurement #define MEASURE_INTERVAL 60000 // How many milli seconds should we wait for OTA? #define OTA_WAIT_PERIOD 300 // FORCE_TRANSMIT_INTERVAL, this number of times of wakeup, the sensor is forced to report all values to the controller #define FORCE_TRANSMIT_INTERVAL 30 // When MEASURE_INTERVAL is 60000 and FORCE_TRANSMIT_INTERVAL is 30, we force a transmission every 30 minutes. // Between the forced transmissions a tranmission will only occur if the measured value differs from the previous measurement // HUMI_TRANSMIT_THRESHOLD tells how much the humidity should have changed since last time it was transmitted. Likewise with // TEMP_TRANSMIT_THRESHOLD for temperature threshold. #define HUMI_TRANSMIT_THRESHOLD 0.5 #define TEMP_TRANSMIT_THRESHOLD 0.5 // Pin definitions #define TEST_PIN A0 #define LED_PIN A2 #define ATSHA204_PIN 17 // A3 const int sha204Pin = ATSHA204_PIN; atsha204Class sha204(sha204Pin); SI7021 humiditySensor; SPIFlash flash(8, 0x1F65); // Sensor messages MyMessage msgHum(CHILD_ID_HUM, V_HUM); MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP); #ifdef BATT_SENSOR MyMessage msgBatt(BATT_SENSOR, V_VOLTAGE); #endif // Global settings int measureCount = 0; int sendBattery = 0; boolean isMetric = true; boolean highfreq = true; boolean transmission_occured = false; bool state = false; bool initialValueSent = false; // Storage of old measurements float lastTemperature = -100; int lastHumidity = -100; long lastBattery = -100; RunningAverage raHum(AVERAGES); /**************************************************** * * Setup code * ****************************************************/ void setup() { pinMode(LED_PIN, OUTPUT); digitalWrite(LED_PIN, LOW); Serial.begin(115200); Serial.print(F("Sensebender Micro FW ")); Serial.print(RELEASE); Serial.flush(); // First check if we should boot into test mode pinMode(TEST_PIN,INPUT); digitalWrite(TEST_PIN, HIGH); // Enable pullup if (!digitalRead(TEST_PIN)) testMode(); // Make sure that ATSHA204 is not floating pinMode(ATSHA204_PIN, INPUT); digitalWrite(ATSHA204_PIN, HIGH); digitalWrite(TEST_PIN,LOW); digitalWrite(LED_PIN, HIGH); humiditySensor.begin(); digitalWrite(LED_PIN, LOW); Serial.flush(); Serial.println(F(" - Online!")); isMetric = getControllerConfig().isMetric; Serial.print(F("isMetric: ")); Serial.println(isMetric); raHum.clear(); sendTempHumidityMeasurements(false); sendBattLevel(false); #ifdef MY_OTA_FIRMWARE_FEATURE Serial.println("OTA FW update enabled"); #endif } void presentation() { sendSketchInfo("Sensebender Micro", RELEASE); present(CHILD_ID_TEMP, S_TEMP); present(CHILD_ID_HUM, S_HUM); #ifdef BATT_SENSOR present(BATT_SENSOR, S_POWER); #endif } /*********************************************** * * Main loop function * ***********************************************/ void loop() { if (!initialValueSent) { bool forceMeasure = true; sendTempHumidityMeasurements(forceMeasure); Serial.println("Requesting initial value from controller"); request(CHILD_ID_HUM, V_HUM); request(CHILD_ID_TEMP, V_TEMP); wait(2000, C_SET, V_TEMP); } measureCount ++; sendBattery ++; bool forceTransmit = false; transmission_occured = false; #ifndef MY_OTA_FIRMWARE_FEATURE if ((measureCount == 5) && highfreq) { clock_prescale_set(clock_div_8); // Switch to 1Mhz for the reminder of the sketch, save power. highfreq = false; } #endif if (measureCount > FORCE_TRANSMIT_INTERVAL) { // force a transmission forceTransmit = true; measureCount = 0; } sendTempHumidityMeasurements(forceTransmit); /* if (sendBattery > 60) { sendBattLevel(forceTransmit); // Not needed to send battery info that often sendBattery = 0; }*/ #ifdef MY_OTA_FIRMWARE_FEATURE if (transmission_occured) { wait(OTA_WAIT_PERIOD); } #endif sleep(MEASURE_INTERVAL); } /********************************************* * * Sends temperature and humidity from Si7021 sensor * * Parameters * - force : Forces transmission of a value (even if it's the same as previous measurement) * *********************************************/ void sendTempHumidityMeasurements(bool force) { bool tx = force; si7021_env data = humiditySensor.getHumidityAndTemperature(); raHum.addValue(data.humidityPercent); float diffTemp = abs(lastTemperature - (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths)/100.0); float diffHum = abs(lastHumidity - raHum.getAverage()); Serial.print(F("TempDiff :"));Serial.println(diffTemp); Serial.print(F("HumDiff :"));Serial.println(diffHum); if (isnan(diffHum)) tx = true; if (diffTemp > TEMP_TRANSMIT_THRESHOLD) tx = true; if (diffHum > HUMI_TRANSMIT_THRESHOLD) tx = true; if (tx) { measureCount = 0; float temperature = (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths) / 100.0; int humidity = data.humidityPercent; Serial.print("T: ");Serial.println(temperature); Serial.print("H: ");Serial.println(humidity); send(msgTemp.set(temperature,1)); send(msgHum.set(humidity)); lastTemperature = temperature; lastHumidity = humidity; transmission_occured = true; if (sendBattery > 60) { sendBattLevel(true); // Not needed to send battery info that often sendBattery = 0; } } } /******************************************** * * Sends battery information (battery percentage) * * Parameters * - force : Forces transmission of a value * *******************************************/ void sendBattLevel(bool force) { if (force) lastBattery = -1; long vcc = readVcc(); if (vcc != lastBattery) { lastBattery = vcc; #ifdef BATT_SENSOR float send_voltage = float(vcc)/1000.0f; send(msgBatt.set(send_voltage,3)); #endif // Calculate percentage vcc = vcc - 1900; // subtract 1.9V from vcc, as this is the lowest voltage we will operate at long percent = vcc / 14.0; sendBatteryLevel(percent); transmission_occured = true; } } /******************************************* * * Internal battery ADC measuring * *******************************************/ long readVcc() { // Read 1.1V reference against AVcc // set the reference to Vcc and the measurement to the internal 1.1V reference #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV(MUX0); #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADcdMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif delay(2); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Start conversion while (bit_is_set(ADCSRA,ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both long result = (high<<8) | low; result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 return result; // Vcc in millivolts } /**************************************************** * * Verify all peripherals, and signal via the LED if any problems. * ****************************************************/ void testMode() { uint8_t rx_buffer[SHA204_RSP_SIZE_MAX]; uint8_t ret_code; byte tests = 0; digitalWrite(LED_PIN, HIGH); // Turn on LED. Serial.println(F(" - TestMode")); Serial.println(F("Testing peripherals!")); Serial.flush(); Serial.print(F("-> SI7021 : ")); Serial.flush(); if (humiditySensor.begin()) { Serial.println(F("ok!")); tests ++; } else { Serial.println(F("failed!")); } Serial.flush(); Serial.print(F("-> Flash : ")); Serial.flush(); if (flash.initialize()) { Serial.println(F("ok!")); tests ++; } else { Serial.println(F("failed!")); } Serial.flush(); Serial.print(F("-> SHA204 : ")); ret_code = sha204.sha204c_wakeup(rx_buffer); Serial.flush(); if (ret_code != SHA204_SUCCESS) { Serial.print(F("Failed to wake device. Response: ")); Serial.println(ret_code, HEX); } Serial.flush(); if (ret_code == SHA204_SUCCESS) { ret_code = sha204.getSerialNumber(rx_buffer); if (ret_code != SHA204_SUCCESS) { Serial.print(F("Failed to obtain device serial number. Response: ")); Serial.println(ret_code, HEX); } else { Serial.print(F("Ok (serial : ")); for (int i=0; i<9; i++) { if (rx_buffer[i] < 0x10) { Serial.print('0'); // Because Serial.print does not 0-pad HEX } Serial.print(rx_buffer[i], HEX); } Serial.println(")"); tests ++; } } Serial.flush(); Serial.println(F("Test finished")); if (tests == 3) { Serial.println(F("Selftest ok!")); while (1) // Blink OK pattern! { digitalWrite(LED_PIN, HIGH); delay(200); digitalWrite(LED_PIN, LOW); delay(200); } } else { Serial.println(F("----> Selftest failed!")); while (1) // Blink FAILED pattern! Rappidly blinking.. { } } }
@Mark69 Can't post a helpful sketch so far. Sorry!
-
RE: 'getConfig' was not declared in this scope (V2.1.1) - FIXED
Thanks, had the same problem!
-
RE: 💬 Building a Raspberry Pi Gateway
@marceloaqno OK, many thanks for that hint!
I was wrong from the beginning on, since I thought my configuration for the gateway was correct because of
--my-serial-groupname=dialout
- but that was not compiled. I edited now the mysgw.cpp manually (there was tty instead of dialout; and of course there was all the time the warning when compiling...). Now it works! Without chmod, or chowning anything later! -
RE: 💬 Building a Raspberry Pi Gateway
I have a question regarding the
--my-serial-groupname
option: since I start the gateway under an user account with sudo, the gateway device ([EDIT] symlink) will be created with ownership root:root. Shouldn't it be created with root:dialout (as I chose dialout as group in my case)?[DELETED]
-
RE: Correct presentation of Sensebender temperature and humidity?
I have called the measurement function now inside the loop function (that is way better of course), and changed the third wait argument to
V_TEMP
. That works.I had a request in the code, but commented it out, it was like:
request(CHILD_ID_TEMP, V_TEMP);
because I was not sure if it is needed.Thanks for your help!
-
Correct presentation of Sensebender temperature and humidity?
Hi,
I am starting slowly to get into MySensors, and currently my setup is sporting one Sensebender connected to a Raspberry serial gateway and Home Assistant on this Raspberry. This setup works, and the controller gets temperature and humidity from the sensor.
I have some questions regarding the presentation in the loop function: the current temperature must be presented? Humidity also? To get the current temperature I have to add in the loop function everything needed to get a temperature value - since the values of the loop function are seen in Home Assistant? So looking at the sketch the temperature and humidity is sent twice to the gateway - once in loop, once in sendTempHumidityMeasurements? Should I get rid of one measurement sent to the gateway?
Sorry for my basic questions... I am really happy to be so far though
Here are those parts of the sketch:
void presentation() { sendSketchInfo("Sensebender Micro", RELEASE); present(CHILD_ID_TEMP,S_TEMP); present(CHILD_ID_HUM,S_HUM); #ifdef BATT_SENSOR present(BATT_SENSOR, S_POWER); #endif }
void loop() { if (!initialValueSent) { si7021_env data = humiditySensor.getHumidityAndTemperature(); float temperature = (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths) / 100.0; int humidity = data.humidityPercent; Serial.println("Sending initial value"); send(msgTemp.set(temperature,1)); send(msgHum.set(humidity)); wait(2000, C_SET, V_STATUS); } }
void sendTempHumidityMeasurements(bool force) { bool tx = force; si7021_env data = humiditySensor.getHumidityAndTemperature(); raHum.addValue(data.humidityPercent); float diffTemp = abs(lastTemperature - (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths)/100.0); float diffHum = abs(lastHumidity - raHum.getAverage()); Serial.print(F("TempDiff :"));Serial.println(diffTemp); Serial.print(F("HumDiff :"));Serial.println(diffHum); if (isnan(diffHum)) tx = true; if (diffTemp > TEMP_TRANSMIT_THRESHOLD) tx = true; if (diffHum > HUMI_TRANSMIT_THRESHOLD) tx = true; if (tx) { measureCount = 0; float temperature = (isMetric ? data.celsiusHundredths : data.fahrenheitHundredths) / 100.0; int humidity = data.humidityPercent; Serial.print("T: ");Serial.println(temperature); Serial.print("H: ");Serial.println(humidity); send(msgTemp.set(temperature,1)); send(msgHum.set(humidity)); lastTemperature = temperature; lastHumidity = humidity; transmission_occured = true; if (sendBattery > 60) { sendBattLevel(true); // Not needed to send battery info that often sendBattery = 0; } } }
-
RE: How to connect Sensebender with serial gateway?
Adding a capacitor at the radio solved my issues... Sorry for not trying that from the very beginning, today I bought some capacitors, and now it looks good!
Happy now!
33804 TSF:MSG:SEND,3-3-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:24.0 33818 TSF:MSG:SEND,3-3-0-0,s=2,c=1,t=1,pt=2,l=2,sg=0,ft=0,st=OK:62 34127 MCO:SLP:MS=60000,SMS=0,I1=255,M1=255,I2=255,M2=255 34134 MCO:SLP:TPD 34136 MCO:SLP:WUP=-1 Sending initial value 34154 TSF:MSG:SEND,3-3-0-0,s=1,c=1,t=0,pt=2,l=2,sg=0,ft=0,st=OK:1 Requesting initial value from controller 34164 TSF:MSG:SEND,3-3-0-0,s=1,c=2,t=2,pt=0,l=0,sg=0,ft=0,st=OK: TempDiff :1.01 HumDiff :1.50 T: 23.00 H: 65
-
RE: How to connect Sensebender with serial gateway?
I will try to find other NRF24L01+ modules. The long range versions I got were from the same seller. However next weekend I will make a restart with new parts
I am still wondering if it is really more or less easy to setup and thinking that I must have forgotten something. But I have to admit in the beginning it looked for me like a fast job, connecting some dupont cables, load up some sketches, and voila.
-
RE: How to connect Sensebender with serial gateway?
What is the difference between the Sensebender example sketch at Github (https://github.com/mysensors/SensebenderMicro/blob/master/Arduino/SensebenderMicro/SensebenderMicro.ino) and the preloaded sketch on the Sensebender?
With the preloaded sketch the serial monitor output looks like this (I have deleted some lines in between to see the T / H values are also there):
req node id send: 255-255-255-0 s=255,c=3,t=3,pt=0,l=0,st=fail: sensor started, id 255 - Online! req node id send: 255-255-255-0 s=255,c=3,t=3,pt=0,l=0,st=fail: T: 23.10 H: 63
And with the sketch from Github I have the output as seen in my first post of this thread.
-
RE: 💬 Building a Raspberry Pi Gateway
After installing a Raspberry Gateway, is this output OK, or have I forgotten something?
mysgw: Starting gateway... mysgw: Protocol version - 2.2.0-beta mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.2.0-beta mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: MCO:REG:NOT NEEDED mysgw: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,TSP=1
I configured with (should be a serial gateway with a controller on the same machine):
./configure --soc=BCM2835 --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorGateway --my-serial-groupname=dialout --my-debug=enable
-
RE: How to connect Sensebender with serial gateway?
I have tried different setups now,
next one will be with an original Genuino Uno Rev 3 board as a gateway. Also I'll have later another USB serial adapter.Store is closed today. Argh. So it will be next week then.I tried a long range NRF24 too.
I have also reset the EEPROM on the Sensebender, and on the Arduino clone.For now I do not know what to do except to change all remaining parts.
I already dreamed of !TSM:FPAR:NO REPLY !TSM:FPAR:NO REPLY !TSM:FPAR:NO REPLY Ahhh!
-
RE: How to connect Sensebender with serial gateway?
I have attached the ethernet gateway (Itead IBoard), to the LAN and PC, and the serial monitor output of the gateway looks like this when batteries are in the Sensebender node (unfortunately I have only one FTDI adapter):
0;255;3;0;9;MCO:BGN:STP 0;255;3;0;9;MCO:BGN:INIT OK,TSP=1 0;255;3;0;9;TSF:MSG:READ,255-255-0,s=255,c=3,t=3,pt=0,l=0,sg=0: 0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGA--,VER=2.1.0 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSF:WUR:MS=0 0;255;3;0;9;TSM:INIT:TSP OK 0;255;3;0;9;TSM:INIT:GW MODE 0;255;3;0;9;TSM:READY:ID=0,PAR=0,DIS=0 0;255;3;0;9;MCO:REG:NOT NEEDED
0;255;3;0;9;MCO:BGN:STP 0;255;3;0;9;MCO:BGN:INIT OK,TSP=1 0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0: 0;255;3;0;9;TSF:MSG:BC 0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255 0;255;3;0;9;TSF:PNG:SEND,TO=0 0;255;3;0;9;TSF:CKU:OK 0;255;3;0;9;TSF:MSG:GWL OK 0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0 0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
It looks good?
I also tried the next possible gateway I could build: an ethernet gateway with a W5100 shield attached to the Uno. But with this combination I get this output:
0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGA--,VER=2.1.0 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSF:WUR:MS=0 0;255;3;0;9;!TSM:INIT:TSP FAIL 0;255;3;0;9;TSM:FAIL:CNT=1 0;255;3;0;9;TSM:FAIL:PDT 0;255;3;0;9;TSM:FAIL:RE-INIT
But this is another story, and could it be that this Uno clone is the problem part - since it also did not work with the serial setup?
-
RE: How to connect Sensebender with serial gateway?
Thanks for your reply!
In the gateway log nothing else shows up. I got these NRF modules.
My next step was - which I wanted to try out later - to hook up an IBoard (version 1.1), and use it as Ethernet gateway. I uploaded the sketch found here from TimO, and put some batteries in the node, and got this output - is this the sensor talking with the gateway? This MSG:READ makes me happy somehow...
0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGA--,VER=2.1.0 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSF:WUR:MS=0 0;255;3;0;9;TSM:INIT:TSP OK 0;255;3;0;9;TSM:INIT:GW MODE 0;255;3;0;9;TSM:READY:ID=0,PAR=0,DIS=0 0;255;3;0;9;MCO:REG:NOT NEEDED IP: 10.20.30.4 0;255;3;0;9;MCO:BGN:STP 0;255;3;0;9;MCO:BGN:INIT OK,TSP=1 0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0: 0;255;3;0;9;TSF:MSG:BC 0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255 0;255;3;0;9;TSF:PNG:SEND,TO=0 0;255;3;0;9;TSF:CKU:OK 0;255;3;0;9;TSF:MSG:GWL OK 0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0 0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0: 0;255;3;0;9;TSF:MSG:BC 0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255 0;255;3;0;9;TSF:PNG:SEND,TO=0 0;255;3;0;9;TSF:CKU:OK 0;255;3;0;9;TSF:MSG:GWL OK 0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
I only have one FTDI adapter, so I can't see right now the serial monitor of the node. Later I will connect the ethernet gateway to the LAN.
Another question: is it possible to see a local time in the serial monitor?
-
How to connect Sensebender with serial gateway?
Hi all,
A few weeks ago I got some packages in the mail, including 4 Sensebenders, and some other parts. I wanted to start on a small scale and try to connect a node with a serial gateway, since everything is new for me!
I uploaded the (example) serial gateway sketch to an Uno clone, with a NRF24L01 attached to it, and also the (example) SensebenderMicro sketch to the Sensebender (with a Foca FTDI serial adapter), also with a NRF24L01 attached.
Looking at the serial monitor of the gateway, this is the output:
u�jI�0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGA--,VER=2.1.0 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSF:WUR:MS=0 0;255;3;0;9;TSM:INIT:TSP OK 0;255;3;0;9;TSM:INIT:GW MODE 0;255;3;0;9;TSM:READY:ID=0,PAR=0,DIS=0 0;255;3;0;9;MCO:REG:NOT NEEDED 0;255;3;0;14;Gateway startup complete. 0;255;0;0;18;2.1.0 0;255;3;0;9;MCO:BGN:STP 0;255;3;0;9;MCO:BGN:INIT OK,TSP=1
Looking at the Sensebenders output:
4 TSM:INIT 4 TSF:WUR:MS=0 12 TSM:INIT:TSP OK 14 TSM:FPAR 16 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 2025 !TSM:FPAR:NO REPLY 2027 TSM:FPAR 2029 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 4038 !TSM:FPAR:NO REPLY
Did I miss a simple setting to do in the sketches? It took a while until I am this point, to ask this question My wife asked me again why I don't have a simple hobby like playing tennis.