Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/WiFiStatus

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

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Проверка статуса 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. }

См.также

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

  1. Arduino - Yún WiFi Status