, IoT- , :
1. C++ OpenCV, NodeJS Arduino. , OpenCV, C++.
2. , Arduino . OpenCV , Arduino .
3. NodeJS -, NodeJS, .

. , .
(Matthias Han)
Arduino C ++ . , ++ Arduino , Linux-. , C++ . , NodeJS, C++ NodeJS.
, . . . - , . , .
«-» Linux. . , .
. – , – . . (DW) . . , , , . . . .
:
:
.
. - , . , , HIGH. - , . , . .

, Arduino NodeJS .
Arduino NodeJS:
NodeJS Arduino:
, Arduino, . NodeJS .
Arduino , , GPIO-. , Arduino №3. - , Arduino ( ), : /arduino_notification_out.txt.
Arduino HIGH №3. . №3 №1. , HIGH №3 №1.
Arduino
int notifier_pin = 3;
int js_subscriber_pin = 6;
FILE *fromarduino, *toarduino;
int i = 0;
int c;
void setup() {
pinMode(notifier_pin, OUTPUT);
pinMode(js_subscriber_pin, INPUT_PULLUP);
attachInterrupt(js_subscriber_pin, subscriberEvent, RISING);
Serial.begin(9600);
}
void subscriberEvent() {
toarduino = fopen("/js_notification_out.txt","r");
if (toarduino)
{
while ((c = getc(toarduino)) != EOF)
{
if(c != 10)
{
Serial.print((char)c);
}
}
Serial.println("");
Serial.println("----------------");
fclose(toarduino);
}
}
void loop() {
if(i < 50)
{
i = i + 1;
}
else
{
i = 0;
}
publishData();
notifyWorld();
delay(1000);
}
void publishData()
{
fromarduino = fopen ("/arduino_notification_out.txt", "w+");
fprintf(fromarduino, "[%d]", i);
fclose(fromarduino);
}
void notifyWorld()
{
digitalWrite(notifier_pin, HIGH);
delay(200);
digitalWrite(notifier_pin, LOW);
}
NodeJS №1. , HIGH, Arduino. NodeJS - . « Arduino NodeJS».
NodeJS
var mraa = require("mraa");
var fs = require('fs');
var subscriber_pin = new mraa.Gpio(1);
subscriber_pin.dir(mraa.DIR_IN);
subscriber_pin.isr(mraa.EDGE_RISING, subscriberEvent);
function subscriberEvent() {
var contents = fs.readFileSync('/arduino_notification_out.txt').toString();
console.log("Message from Arduino:" + contents);
}
var counter = 0;
var notifier_pin = new mraa.Gpio(5);
notifier_pin.dir(mraa.DIR_OUT);
setInterval(function(){
counter++;
fs.writeFileSync("/js_notification_out.txt", "NodeJS: [" + counter + "]\n");
notifyWorld();
counter = 0;
},20000);
function notifyWorld()
{
notifier_pin.write(1);
setTimeout(function(){
notifier_pin.write(0);
},200);
}
NodeJS Arduino. « NodeJS Arduino».
, .
, C++ NodeJS. .
, . GPIO-. , GPIO-. , , GPIO. , JSON- , eventsource, event data .. , . .