node-red flow menampilkan data dari gps


[{"id":"81f9ffeb.66d4d","type":"gpsd","z":"e108dd82.a3cce","name":"","hostname":"localhost","port":"2947","tpv":true,"sky":false,"info":false,"device":false,"gst":false,"att":false,"x":400,"y":160,"wires":[["33ea6491.a441ac","9f80de4c.be389"]]},{"id":"33ea6491.a441ac","type":"debug","z":"e108dd82.a3cce","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":710,"y":160,"wires":[]},{"id":"9f80de4c.be389","type":"function","z":"e108dd82.a3cce","name":"","func":"msg.payload = {\n    name:\"cyberdeck\",\n    icon:\"fa-car\",\n    lat : msg.payload.lat,\n    lon : msg.payload.lon,\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":570,"y":260,"wires":[["f568e1f8.f22dd","a3414ec7.91967"]]},{"id":"f568e1f8.f22dd","type":"debug","z":"e108dd82.a3cce","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":820,"y":260,"wires":[]},{"id":"a3414ec7.91967","type":"worldmap","z":"e108dd82.a3cce","name":"","lat":"","lon":"","zoom":"12","layer":"OSM","cluster":"","maxage":"","usermenu":"show","layers":"show","panit":"false","panlock":"false","zoomlock":"false","hiderightclick":"false","coords":"none","showgrid":"false","allowFileDrop":"false","path":"/map","x":800,"y":360,"wires":[]}]

Parsing data json dari Antares di node-red


Disini saya coba simulasikan data dari json antares sehingga bisa diambil datanya silahkan dimodifikasi sesuai kebutuhan

[{"id":"17560ba0.3d9064","type":"inject","z":"faf988ef.fe8c48","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"m2m:rsp\":{\"rsc\":2000,\"rqi\":\"123456\",\"pc\":{\"m2m:cin\":{\"rn\":\"cin_iuMU7IWiSbe_LIho\",\"ty\":4,\"ri\":\"/antares-cse/cin-iuMU7IWiSbe_LIho\",\"pi\":\"/antares-cse/cnt-e_WnyypcTMeYnEsT\",\"ct\":\"20210611T232216\",\"lt\":\"20210611T232216\",\"st\":0,\"cnf\":\"text/plain:0\",\"cs\":126,\"con\":\"{\\"temperature\\":28,\\"humidity\\":75,\\"wind_speed\\":6.606607,\\"rain_level\\":2.002861,\\"latitude\\":\\"-6.8718189\\",\\"longitude\\":\\"107.5872477\\"}\"}},\"to\":\"70ff8aac6a790a02:8a7288cb1b7b1a5c\",\"fr\":\"/antares-cse\"}}","payloadType":"json","x":150,"y":140,"wires":[["b6b6b140.2ad0a","d21e6167.941c2"]]},{"id":"3e106da8.411f92","type":"debug","z":"faf988ef.fe8c48","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":830,"y":140,"wires":[]},{"id":"b6b6b140.2ad0a","type":"function","z":"faf988ef.fe8c48","name":"","func":"var obj = msg.payload[\"m2m:rsp\"][\"pc\"][\"m2m:cin\"][\"con\"];\n\nmsg.payload = obj;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":140,"wires":[["c86838ce.7d5578"]]},{"id":"d21e6167.941c2","type":"debug","z":"faf988ef.fe8c48","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":540,"y":220,"wires":[]},{"id":"c86838ce.7d5578","type":"json","z":"faf988ef.fe8c48","name":"","property":"payload","action":"","pretty":false,"x":610,"y":140,"wires":[["3e106da8.411f92"]]}]

Install node-red in lxc alpine


My note to run node-red in alpine linux container inside proxmox

apk upgrade --update \
&&apk upgrade --update \
 && apk add curl make gcc g++ linux-headers paxctl musl-dev \
    libgcc libstdc++ binutils-gold python openssl-dev zlib-dev \
 && mkdir -p /root/src \
 && cd /root/src \
 && curl -sSL https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}.tar.gz | tar -xz \
 && cd /root/src/node-* \
 && ./configure --prefix=/usr --without-snapshot \
 && make -j$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
 && make install \
 && paxctl -cm /usr/bin/node \
 && npm cache clean \
 && apk del make gcc g++ python linux-headers \
 && rm -rf /root/src /tmp/* /usr/share/man /var/cache/apk/* \
    /root/.npm /root/.node-gyp /usr/lib/node_modules/npm/man \
    /usr/lib/node_modules/npm/doc /usr/lib/node_modules/npm/html \
 && apk search --update

npm install -g pm2@latest

pm2 start /usr/bin/node-red --node-args="--max-old-space-size=128" -- -v

pm2 save
pm2 startup

error-related-to-only-full-group-by-when-executing-a-query-in-mysql


Go to phpmyadmin click table and go to SQL query paste this below and go

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

STM32 (Bluepill) with i2c bme280


Sample code stm32duino upload via stlink

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

Adafruit_BME280 bme;

void setup() 
{
    Serial.begin(115200);
    bme.begin(0x76); //i2c address must declare,or try i2c scanner first
}
void loop() 
{
    Serial.print("Temperat: ");   
    Serial.println(bme.readTemperature(),1);
    Serial.print("Humidity: ");
    Serial.println(bme.readHumidity(),1);
    Serial.print("Pressure: ");     
    Serial.println((bme.readPressure()/100),1);              
    delay(1000);
}