2 Commits
Author SHA1 Message Date
jlehmann a6d5d045f1 fix bug with big difference 2021-04-28 07:21:39 +02:00
jlehmann 74bca8966b calculate appkey 2021-04-26 16:49:27 +02:00
3 changed files with 55 additions and 6 deletions
@@ -12,7 +12,7 @@ BME280 bme280;
/******************************************************************************/ /******************************************************************************/
/* Firmware Version */ /* Firmware Version */
/******************************************************************************/ /******************************************************************************/
static const int32_t fwVersion = 20210426; static const int32_t fwVersion = 20210427;
/******************************************************************************/ /******************************************************************************/
/* LoraWAN Settings */ /* LoraWAN Settings */
@@ -850,12 +850,14 @@ void AddSensorDataToLoraData()
timer_pos0 = millis(); timer_pos0 = millis();
} }
my_position++; my_position++;
last_sensor_reading = sensor_data;
} }
bool TooBigWeightChange() bool TooBigWeightChange()
{ {
// on first position there cannot be a difference
if (my_position == 1) {
return false;
}
bool big_difference = (abs(last_sensor_reading.weight - sensor_data.weight) > SEND_DIFF_THRESHOLD_5GRAMS); bool big_difference = (abs(last_sensor_reading.weight - sensor_data.weight) > SEND_DIFF_THRESHOLD_5GRAMS);
if (big_difference) { if (big_difference) {
lora_data.weight_last = sensor_data.weight; lora_data.weight_last = sensor_data.weight;
@@ -907,6 +909,7 @@ bool ReadSensors(bool read_only)
if (!read_only) { if (!read_only) {
AddSensorDataToLoraData(); AddSensorDataToLoraData();
send_data = (TooBigWeightChange()) || (my_position >= MAX_VALUES_TO_SEND) || (iteration <= INIT_PACKETS) || (iteration % INIT_PACKAGE_INTERVAL == 0); send_data = (TooBigWeightChange()) || (my_position >= MAX_VALUES_TO_SEND) || (iteration <= INIT_PACKETS) || (iteration % INIT_PACKAGE_INTERVAL == 0);
last_sensor_reading = sensor_data;
if (config_data.debug_level > 0) { if (config_data.debug_level > 0) {
if (send_data) { if (send_data) {
+1 -1
View File
@@ -67,5 +67,5 @@ $ mkdir ~/arduino-builds-saved/20210423/
$ cp /tmp/arduino-sketch-0870BAA82DFEB3C4E076C8FBBDEB25B4/CubeCell_Board_REGION_EU868_RGB_0.cyacd ~/arduino-builds-saved/20210423/ $ cp /tmp/arduino-sketch-0870BAA82DFEB3C4E076C8FBBDEB25B4/CubeCell_Board_REGION_EU868_RGB_0.cyacd ~/arduino-builds-saved/20210423/
Upload: Upload:
/home/joerg/Arduino/hardware/CubeCell/CubeCell/tools/CubeCellflash/CubeCellflash -serial /dev/ttyUSB0 /home/joerg/arduino-builds-saved/20210423/CubeCell_Board_REGION_EU868_RGB_0.cyacd /home/joerg/Arduino/hardware/CubeCell/CubeCell/tools/CubeCellflash/CubeCellflash -serial /dev/ttyUSB0 /home/joerg/arduino-builds-saved/latest/CubeCell_Board_REGION_EU868_RGB_0.cyacd
` `
+47 -1
View File
@@ -58,6 +58,51 @@ func readSerial(p *serial.Port) {
} }
} }
func getAppKey(deveui string) string {
if len(deveui) == 16 {
appkey := fmt.Sprintf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
deveui[10],
deveui[3],
deveui[4],
deveui[7],
deveui[15],
deveui[9],
deveui[11],
deveui[2],
deveui[0],
deveui[8],
deveui[1],
deveui[6],
deveui[5],
deveui[12],
deveui[14],
deveui[13],
deveui[3],
deveui[6],
deveui[12],
deveui[7],
deveui[15],
deveui[1],
deveui[9],
deveui[11],
deveui[2],
deveui[10],
deveui[0],
deveui[8],
deveui[5],
deveui[14],
deveui[4],
deveui[13])
fmt.Printf("calculated AppKey: %s\n", appkey)
return appkey
} else {
fmt.Printf("devEui has wrong length: %s\n", deveui)
return ""
}
}
func main() { func main() {
if len(os.Args) != 3 { if len(os.Args) != 3 {
fmt.Println("usage: " + filepath.Base(os.Args[0]) + " <SerialDevice> <appEui>") fmt.Println("usage: " + filepath.Base(os.Args[0]) + " <SerialDevice> <appEui>")
@@ -75,10 +120,11 @@ func main() {
sendCommand(s, "AT+XXX") sendCommand(s, "AT+XXX")
devEui := getDevEui(s) devEui := getDevEui(s)
appKey := getAppKey(devEui)
if devEui != "" { if devEui != "" {
sendCommand(s, "AT+DevEui="+devEui) sendCommand(s, "AT+DevEui="+devEui)
sendCommand(s, "AT+AppEui="+appEui) sendCommand(s, "AT+AppEui="+appEui)
sendCommand(s, "AT+AppKey="+devEui+devEui) sendCommand(s, "AT+AppKey="+appKey)
sendCommand(s, "AT+SAVE_OTAA_CONFIG=1") sendCommand(s, "AT+SAVE_OTAA_CONFIG=1")
sendCommand(s, "AT+RESET=1") sendCommand(s, "AT+RESET=1")
readSerial(s) readSerial(s)