Защита
- Войдите на сайт для отправки комментариев
Пт, 02/05/2014 - 14:23
Здравстуйте, безопасно ли так хранит и получать данные
#include <SPI.h> #include <Ethernet.h> byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01 }; IPAddress ip(192,168,1,9); // инициализации экземпляра библиотеки: EthernetClient client; // задержка между запросами const int requestInterval = 3000; // URL сервера, которому будем отправлять запросы char serverName[] = "***"; // сделан ли запрос после подключения boolean requested; // время в милисекундах с последнего подключения к серверу long lastAttemptTime = 0; // строка для сохранения текста с сервера String currentLine = ""; // строка для хранения твита String tweet = ""; // переменная хранит состояние: читаете ли твит сейчас boolean readingTweet = false; void setup() { pinMode(13, OUTPUT); pinMode(11, OUTPUT); // резервируем место для строки: currentLine.reserve(256); tweet.reserve(150); // инициализация последовательного порта: Serial.begin(9600); // попытка подключения с DHCP: if (!Ethernet.begin(mac)) { // если DHCP-сервер отсутствует в сети, // подключаемся с заданным нами IP-адресом: Ethernet.begin(mac, ip); } // подключаемся к Twitter: connectToServer(); } void loop() { if (client.connected()) { if (client.available()) { // считываем полученные байты: char inChar = client.read(); // добавляем полученные байты в конец строки: currentLine += inChar; // если получен символ новой строки, очищаем переменную: if (inChar == '\n') { currentLine = ""; } // если текущая строка заканчивается символами , значит // сейчас будет следовать непосредственно текст твита: if ( currentLine.endsWith("<text>")) { // начало чтения твита. Очищаем переменную tweet: readingTweet = true; tweet = ""; } // если сейчас происходит считывание байтов твита, // добавляем их в строковую переменную tweet: if (readingTweet) { if (inChar != '<') { tweet += inChar; } else { // если был получен символ "<", // значит мы достигли конца твита: readingTweet = false; Serial.println(tweet); if(tweet == ">11"){ digitalWrite(13, HIGH); digitalWrite(11, LOW); Serial.println("13 ON - 11 OFF"); } if(tweet == ">10"){ digitalWrite(13, HIGH); digitalWrite(11, HIGH); Serial.println("13,11 ON!"); } if(tweet == ">00"){ digitalWrite(11, HIGH); digitalWrite(13, LOW); Serial.println("11 ON - 13 OFF"); } if(tweet == ">01"){ digitalWrite(11, LOW); digitalWrite(13, LOW); Serial.println("11 OFF - 13 OFF"); } // отключаемся от сервера: client.stop(); } } } } else if (millis() - lastAttemptTime > requestInterval) { // если мы в данный момент не подключены к серверу // и прошло 2 минуты с момента последнего подключения, пробуем // подключится снова и прочитать последний опубликованный твит: connectToServer(); } } // функция подключения к серверу Twitter: void connectToServer() { Serial.println("connecting to server..."); if (client.connect(serverName, 80)) { Serial.println("making HTTP request..."); // Создаем GET HTTP-запрос к твиттеру: client.println("GET /data.xml HTTP/1.1"); client.println("HOST: ***"); client.println(); } // записываем в переменную время текущей попытки соединения: lastAttemptTime = millis(); }
Смотря от чего защищать. Если используется принцип "черного ящика" - то в полне безопасно.
Спасибо, и еще вопрос, не могу мопять как добавить еще пинов...что то как то не получается