Ubiquitous & Intelligent Uber eluttag (6 / 8 steg)
Steg 6: Redo programvaran
Nu, låt oss ladda upp programvara
(이제 프로그램을 올려볻겠습니다)
Det finns 3 programkod för intel galileo Gen 2
(갈릴레오 2세대에서 작동 시킬 수 있는 3가지 코드가 있습니다)
Först är Intelligent avsnitt
(처음은 지능형 부분입니다)
///////////////////////////////////////////////
void setup() {
initiera seriell kommunikation på 9600 bitar per sekund: Serial.begin(9600); pinMode (2, utgång); pinMode (3, OUTPUT); pinMode (13, OUTPUT); }
Rutinen loop kör om och om igen för alltid: void loop() {/ / läsa indata på analoga stift 0: / / / Intelligent SETUP / / / int sensorValue1 = analogRead(A0); int sensorValue2 = analogRead(A2); Serial.println(sensorValue1); Serial.println(""); Serial.println(""); Serial.println(""); Serial.println(sensorValue2);
///////////////////////// DISTANCE SENSOR //////////////////////////////////
om (sensorValue2 < 50) {digitalWrite 2, hög, digitalWrite 13, hög.} annars om (sensorValue2 > 50) {digitalWrite 2, låg, digitalWrite 13, låg.} / / / ljus SENSOR / / / om (sensorValue1 < 20) {digitalWrite (3, hög); digitalWrite 12, hög.} annars om (sensorValue1 > 100) {digitalWrite (3, låg); digitalWrite (12, låg).}}
/////////////////////////////////////////
Nu här är Web Server avsnitt
(이제 웹서버 부분입니다)
///////////////////////////////////////////////////////
#include
#include
byte [mac] = {0x98, 0x4F, 0xEE, 0x01, 0x81, 0xF2}; IP-adress ip(192,168,10,20); byte gateway [] = {192, 168, 10, 1}; byte undernät [] = {255, 255, 255, 0};
InString sträng = String(35);
Sträng ledde;
int ledde [] = {00, 2, 3, 4, 5, 6, 7, 8,9}; int numofleds = 8; Sträng värde [] = {"på", "on", "på", "på", "on", "på", "on", "på", "på"}; EthernetServer server(80); Strängdata; void setup() {Serial.begin(9600); Ethernet.BEGIN (mac, ip); Server.BEGIN(); Ställ in pin (int j = 1; j < (numofleds + 1), j ++) {pinMode (led [j], produktionen);} Serial.println ("Serial READY"); Serial.println ("Ethernet READY"); Serial.println ("Server READY"); }
void loop() {EthernetClient klient = server.available(); if(client) {/ / en http-förfrågan avslutas med en tom rad boolean current_line_is_blank = true; medan (client.connected()) {if(client.available()) {char c = client.read(); / / om vi har fått till slutet av raden (fick en newline / / karaktär) och raden är tom, http-begäran har avslutats, / / så kan vi skicka ett svar om (inString.length() < 35) {inString.concat(c);} om (c == '\n' & & current_line_is_blank) {/ / Skicka ett standard http svar huvud client.println ("HTTP / 1.1 200 OK "); client.println ("Content-Type: text/html"); client.println(); client.println("
"); client.println("
Hem Automation controller
"); för (int jag = 1; jag < (numofleds + 1); i ++) {Led = String("Appliance") + i; if(inString.indexOf(Led+"=on") > 0 || inString.indexOf("all=on") > 0) {Serial.println(Led+"on"); digitalWrite (ledde [i], hög), värde [i] = "off";} annat if(inString.indexOf(Led+"=off") > 0 || inString.indexOf("all=off") > 0) {Serial.println(Led+"on"); digitalWrite (ledde [i], låg), värde [i] = "on";} client.println ("
"+ Led +" ");} client.println("
Alla "); client.println("
"); bryta; {} om (c == "\n") {/ / vi startar en ny linje current_line_is_blank = sant;} else om (c! = '\r') {/ / vi har fått en karaktär på den aktuella raden current_line_is_blank = false;}} } / / ge web browser tid att ta emot data delay(1); inString = ""; client.stop(); } }
////////////////////////////////////////////////////
Nu är kombinationen av två koden
(두가지를 한번에 수행하는 코드 입니다)
////////////////////////////////////////////////////
#include
#include //network NB: stift 10, 11, 12 och 13 är reserverade för Ethernet-modul. byte [mac] = {0x98, 0x4F, 0xEE, 0x01, 0x81, 0xF2}; IP-adress ip(192,168,10,20); byte gateway [] = {192, 168, 10, 1}; byte undernät [] = {255, 255, 255, 0};
InString sträng = String(35);
Sträng ledde;
int ledde [] = {00, 2, 3, 4, 5, 6, 7, 8,9}; LED stift num 0 i arry är inte används int numofleds = 8; numofleds sträng värde [] = {"på", "on", "på", "på", "on", "på", "on", "på", "på"}; Start alla led är off
EthernetServer server(80); Strängdata; void setup() {Serial.begin(9600); Ethernet.BEGIN (mac, ip); Server.BEGIN(); Ställ in pin (int j = 1; j < (numofleds + 1), j ++) {pinMode (led [j], produktionen);} Serial.println ("Serial READY"); Serial.println ("Ethernet READY"); Serial.println ("Server READY"); }
void loop() {int sensorValue1 = analogRead(A0); int sensorValue2 = analogRead(A2); om (sensorValue2 < 50) {digitalWrite 2, hög, digitalWrite 13, hög.} annars om (sensorValue2 > 50) {digitalWrite (2, låg); digitalWrite 13, låg.} / / / ljus SENSOR / / / om (sensorValue1 < 20) {digitalWrite (3, hög); digitalWrite 12, hög.} annars om (sensorValue1 > 100) {digitalWrite (3, låg); digitalWrite 12, låg.} EthernetClient klient = server.available(); IF(Client) {/ / en http-förfrågan avslutas med en tom rad boolean current_line_is_blank = true; medan (client.connected()) {if(client.available()) {char c = client.read(); / / om vi har fått till slutet av raden (fick en newline / / karaktär) och raden är tom, http-begäran har avslutats, / / så kan vi skicka ett svar om (inString.length() < 35) {inString.concat(c);} om (c == '\n' & & current_line_is_blank) {/ / Skicka ett standard http svar huvud client.println ("HTTP/1.1 200 OK"); client.println ("Content-Type : text/html "); client.println(); client.println("
"); client.println("
Hem Automation controller
"); för (int jag = 1; jag < (numofleds + 1); i ++) {Led = String("led") + i; if(inString.indexOf(Led+"=on") > 0 || inString.indexOf("all=on") > 0) {Serial.println(Led+"on"); digitalWrite (ledde [i], hög), värde [i] = "off";} annat if(inString.indexOf(Led+"=off") > 0 || inString.indexOf("all=off") > 0) {Serial.println(Led+"on"); digitalWrite (ledde [i], låg), värde [i] = "on";} client.println ("
"+ Led +" ");} client.println("
Alla "); client.println("
"); bryta; {} om (c == "\n") {/ / vi startar en ny linje current_line_is_blank = sant;} else om (c! = '\r') {/ / vi har fått en karaktär på den aktuella raden current_line_is_blank = false;}} } / / ge web browser tid att ta emot data delay(1); inString = ""; client.stop(); } }
///////////////////////////////////////////////////////////////////////////////////////////////////////
l kommer att ladda upp här koden för oss
(첨부파일을 확인해주세요)
exempel (온도센서)
#include
DHT11 dht11(2);
void setup()
{
Serial.BEGIN(9600);
}
void loop()
{
int fela;
float temp, humi;
om ((err=dht11.read (humi, temp)) == 0)
{
Serial.Print("temperature:");
Serial.Print(temp);
}
annat
{
}
Delay(DHT11_RETRY_DELAY);
IF(temp > 35.5)
{
pinMode 13, hög.
}
annat
{
pinMode 13, låg.
}
}