Arduino:Примеры/WiFiStatus

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Проверка статуса WiFi на Yun[1]

Этот скетч запускает скрипт под названием «pretty-wifi-info.lua», установленный на Yun в папке «/usr/bin». Он выводит информацию о статусе WiFi-соединения. Вывод информации осуществляется при помощи последовательной передачи данных, поэтому Yun и компьютер нужно подключить друг к другу при помощи USB-кабеля, а перед запуском выбрать нужный порт в меню Port.

Необходимое оборудование

  • Плата Arduino Yun;
  • Беспроводная сеть;

Цепь

Для этого примера цепи строить не нужно.

Код

Во-первых, подключаем класс Process.

1 #include <Process.h>

В секции setup() инициализируем Serial (последовательную передачу данных) и библиотеку Bridge. Далее делаем так, чтобы дальнейшая часть скетча не запускалась до тех пор, пока не будет установлено последовательное соединение.

 1 void setup() {
 2   Serial.begin(9600); 
 3   while(!Serial);      
 4 
 5   Serial.println("Starting bridge...\n");  // "Активируем Bridge...\n"
 6   pinMode(13,OUTPUT);  
 7   digitalWrite(13, LOW);  
 8   Bridge.begin();  
 9   digitalWrite(13, HIGH);  // когда Bridge активируется, загорится светодиод, подключенный к 13-ому контакту
10 
11   delay(2000);  
12 }

В секции loop() инициализируем новый процесс, который будет запускать скрипт проверки WiFi. Сделаем это при помощи функции runShellCommand(), указав в ней путь к скрипту.

1 void loop() {
2   Process wifiCheck;
3   wifiCheck.runShellCommand("/usr/bin/pretty-wifi-info.lua");

Выводим на Serial Monitor все символы, возвращенные скриптом, а затем ждем несколько секунд перед тем, как начать снова.

1 while (wifiCheck.available() > 0) {
2     char c = wifiCheck.read();
3     Serial.print(c);
4   }
5 
6   Serial.println();
7 
8   delay(5000);
9 }

Весь код полностью – ниже:

 1 /*
 2 Проверка статуса WiFi 
 3 
 4 Этот скетч запускает скрипт «pretty-wifi-info.lua»,
 5 установленный на Yun в папке «/usr/bin»,
 6 а затем выводит информацию о статусе WiFi-соединения. 
 7 
 8 Для вывода информации используется Serial Monitor,
 9 поэтому Yun Должна быть подключена к компьютеру при помощи USB-кабеля.
10 Кроме того, вам нужно выбрать нужный порт в меню Port.
11 
12 Создан 18 июня 2013 Федерико Фиссоре (Federico Fissore)
13 
14 Этот код не защищен авторским правом.
15 
16 */
17 
18 #include <Process.h>
19 
20 void setup() {
21   Serial.begin(9600);  // инициализируем последовательную передачу данных
22   while(!Serial);      // ничего не делаем, пока не откроется Serial Monitor
23 
24   Serial.println("Starting bridge...\n");  // "Активируем Bridge...\n"
25   pinMode(13,OUTPUT);  
26   digitalWrite(13, LOW);  
27   Bridge.begin();  // устанавливаем контакт с процессором Linux
28   digitalWrite(13, HIGH);  // когда Bridge активируется, включаем светодиод на 13-ом контакте
29 
30   delay(2000);  // ждем 2 секунды
31 }
32 
33 void loop() {
34   Process wifiCheck;  // инициализируем новый процесс
35 
36   wifiCheck.runShellCommand("/usr/bin/pretty-wifi-info.lua");  // команда, которую мы запускаем
37 
38   // Если наш процесс возвращает какие-либо символы,
39   // выводим их на Serial Monitor:
40   while (wifiCheck.available() > 0) {
41     char c = wifiCheck.read();
42     Serial.print(c);
43   }
44 
45   Serial.println();
46 
47   delay(5000);
48 }

См.также

Внешние ссылки