http://piscina-online.blogspot.com.br/p/como-medir-o-ph-da-piscina.html
http://www.greenpower.net.br/blog/?p=354
http://piscina-online.blogspot.com.br/p/como-medir-o-ph-da-piscina.html
http://www.greenpower.net.br/blog/?p=354
Compiling:
gcc -g analog_input.c -o analog_input -lmraa
To use MRAA the linker needs to receive this -lmraa.
After trying alot of things, nothing worked. Using NVM doesnt work. But here is the solution:
vi /etc/opkg/base-feeds.conf
The file will be empty. Put this on the file and save:
src/gz all http://repo.opkg.net/edison/repo/all src/gz edison http://repo.opkg.net/edison/repo/edison src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
Now follow this commands:
opkg update opkg install nodejs
After all the work, that is very fast, you will get this:
root@edison:~# node -v v0.12.7
Now, let's see if the segmentation faults will stop. 🙂
Here is the source: http://alextgalileo.altervista.org/edison-package-repo-configuration-instructions.html
And here is the packages that you can get there: http://repo.opkg.net/edison/repo/core2-32/
i2cdetect -a -r 6
This will result all the devices addresses that returned the scanning probe.
root@edison:/home# i2cdetect -a -r 6 WARNING! This program can confuse your I2C bus, cause data loss and worse! I will probe file /dev/i2c-6 using read byte commands. I will probe address range 0x00-0x7f. Continue? [Y/n] y 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- 53 -- -- -- 57 -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- root@edison:/home#
This time I was look for the 0x57 device, that I recently connected to the i2c bus.
Get the device data:
i2cdump -y -f 6 0x57
The result:
root@edison:~# i2cdump -y -f 6 0x57 No size specified (using byte-data access) 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 00: 00 00 00 0f 00 00 03 00 00 00 00 00 00 00 00 00 ...?..?......... 10: 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff ................ 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 80: 00 00 00 00 00 ff af af af af af af af 01 af af ......?????????? 90: af af af af af af af af af af af af af af af af ???????????????? a0: af af af af af af af af af af af af af af af af ???????????????? b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff 05 11 ..............??
Get data from an address on the device:
i2cget -y -f 6 0x57 0x06
Result:
root@edison:~# i2cget -y -f 6 0x57 0x06 0x03
Send data to the device:
i2cset -y -f 6 0x57 0x06 0x03
// I2C-6, endereço 57h, registrador 06h, escreve 03h
My NodeMCU are sending data using MQTT to the broker. Then this flow get the topic and the data and save on InfluxDB using its HTTP API.
http://flows.nodered.org/flow/5c96cc92d3171b6434bf
In function we have this code:
var tokens = msg.topic.split("/"); var dest = tokens[tokens.length-1]; msg.url ="http://localhost:8086/write?db=greenhouse"; msg.payload = tokens[2] + ",device=" + tokens[1] + " value=" + msg.payload; return msg;
Here is a graphics sample:
npm install -g grunt-cli wget --no-check-certificate https://github.com/node-red/node-red/archive/0.13.2.zip unzip 0.13.2.zip cd node-red-0.13.2 npm install grunt build node red.js
Now you can access using the Edison's IP more the 1880 port, like this: http://192.168.13.105:1880/
Ubuntu users can install the latest stable version of InfluxDB using the apt-get
package manager. For Ubuntu users, you can add the InfluxData repository configuration by using the following commands:
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add - source /etc/lsb-release echo "deb [ arch=amd64 ] https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
And then to install and start the InfluxDB service:
sudo apt-get update && sudo apt-get install influxdb sudo service influxdb start
I just add [ arch=amd64 ] to the original command, to make it work. Without it, the apt-get will search for i386 packages too and then give an error.