Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Стартовый набор голограммы Nova

Впервые в Nova? Впервые в Raspberry Pi? Новичок в Python? Это руководство прилагается к нашему набору, в котором вы будете шагать по каждому этапу.

История

Это руководство является частью набора, который предлагает голограмма:https://hologram.io/store/nova-starter-kit-for-raspberry-pi-3

Настройка Raspberry Pi - Headless

Примечание. Вы можете перейти к следующему разделу, если у вас уже установлен Raspbian на SD-карте и вы можете подключиться к нему по SSH или получить доступ к его терминалу.

Настройка Raspberry Pi без головы означает, что мы собираемся настроить компьютер, не подключая к устройству монитор, клавиатуру или мышь. Мы собираемся делать все удаленно с нашего основного компьютера.

1. Загрузите и запишите Raspbian OS на SD

Примечания к началу работы:

Загрузите Raspbian:https://www.raspberrypi.org/downloads/raspbian/

Загрузите / установите Etcher:https://etcher.io/

Запись Raspbian на SD-карту:

2. Настроить Raspbian

После завершения Etcher нам потребуется доступ к SD-карте, все еще подключенной к вашему компьютеру. Если SD-карта была извлечена после завершения Etcher, отключите / снова подключите SD-карту и убедитесь, что она смонтирована.

Откройте приложение локального терминала. Мне нравится использовать Hyper Terminal.

Измените каталоги на загрузочный диск, на Mac это будет:

 cd / Volumes / boot 

Включите SSH, создав пустой файл.

 коснитесь ssh 

Создайте и отредактируйте файл wpa_supplicant.conf, чтобы предварительно настроить Wi-Fi. Настройка этого позволит Pi автоматически подключаться к сети при загрузке, если она доступна. Pi имеет только антенну 2,4 ГГц и несовместим с маршрутизаторами 5 ГГц . Для настройки WiFi выполните следующее:

 sudo nano wpa_supplicant.conf 

Примечание 1. Добавление судо в начале команды предоставит вам права root (суперпользователя). Эта тема становится немного сложной, если вы дословно будете следовать этим инструкциям, все будет в порядке.

Примечание 2. Что такое нано ? Nano - это легкий текстовый редактор, который работает внутри терминала. Вызов nano, за которым следует файл, откроет этот файл для редактирования.

Открыв nano для пустого файла, вставьте следующий фрагмент, изменив его своими собственными сетевыми учетными данными.

 country =US ctrl_interface =DIR =/ var / run / wpa_supplicant GROUP =netdev update_config =1 network ={ssid ="** your-wifi **" psk ="** your-password ** "key_mgmt =WPA-PSK} 

Для небезопасных сетей:

 country =US ctrl_interface =DIR =/ var / run / wpa_supplicant GROUP =netdev update_config =1 network ={ssid ="** your-wifi **" key_mgmt =NONE} 

Нажмите CRTL + X . для выхода Y чтобы сохранить, ВВОД для подтверждения и выхода из редактора Nano. Извлеките SD-карту из компьютера и вставьте ее в Raspberry Pi.

3. Подключитесь к Pi через Wi-Fi SSH

Подайте питание на Raspberry Pi через порт питания micro USB и подождите одну минуту, пока устройство загрузится и подключится. Вам пока не нужно подключать Nova. Убедитесь, что вы используете прилагаемый адаптер питания, важно, чтобы ваш Pi имел рекомендованные 5 В, 2,4 А.

На главном компьютере (не Pi) откройте терминал, вы можете даже открыть терминал после нескольких последних шагов. Мы собираемся использовать SSH (Secure Shell) для удаленного доступа к терминалу Pi с вашего основного компьютера. Думайте об этом как об удаленном рабочем столе, но вместо рабочего стола это терминал.

В терминале запустите:

 ssh [email protected] 

Пароль - малиновый.

Устранение неполадок:

  • Что делать, если устройство не найдено? Вероятно, Pi нет в сети. Вставьте SD-карту обратно в основной компьютер и повторите последний шаг, убедившись, что учетные данные Wi-Fi верны и вы подключаетесь к сети 2,4 ГГц.
  • Что делать, если в моей сети несколько Raspberry Pi с одним и тем же именем хоста? Вам нужно будет получить доступ к Pi по локальному IP-адресу вместо hostname.local. Определите IP-адрес устройства, войдя в систему администрирования вашего маршрутизатора или используя такое приложение, как Bonjour Browser. Найдите IP-адрес для доступа к устройству через SSH> ssh [электронная почта защищена]

Дополнительная конфигурация Pi.

Теперь вы должны удаленно находиться внутри терминала Pi. Мы собираемся завершить настройку Pi. Из командной строки SSH запустите:

 sudo raspi-config 

Должен появиться такой экран:

Давайте разберемся, что вам нужно сделать здесь.

  • Расширение хранилища SD:7 дополнительных параметров → A1 Расширение файловой системы
  • Включите I2C для чтения аналоговых датчиков:5 вариантов интерфейса → SPI
  • Изменить пароль:1 Измените пароль пользователя → введите новый пароль (запомните это!)
  • Измените имя хоста:2 Имя хоста → введите новое имя хоста (помните это!)
  • Нажмите "Готово" и подтвердите перезагрузку Pi.

После перезагрузки Pi мы снова подключим устройство по SSH. Обязательно используйте новое имя хоста и поместите .local после имени хоста. Пример:ssh [электронная почта защищена]

4. Установите зависимости

Я знаю, что это длинновато, но клянусь, мы почти закончили! Изнутри сеанса SSH выполните следующие команды.

Обновите библиотеки кода Pi:

 sudo apt-get update 

Установите некоторые из моих любимых обязательных библиотек:

 sudo apt-get install git git-core build-essential python-dev python-openssl python-smbus python3-pip python-pip screen 

Установите SDK Python для Hologram для взаимодействия с Nova:

 curl -L hologram.io/python-install | bash 

Убедитесь, что CLI (интерфейс командной строки) голограммы установлен. Он должен вернуть версию выше 0.6.0.

 версия голограммы 

Поздравляю! Вы завершили настройку Raspberry Pi и ни разу не подключили монитор! Теперь вы профессионал!

Мы будем взаимодействовать с универсальными выводами ввода / вывода ( GPIO коротко). Чтобы быстро освежить в памяти основные нюансы контактов Pi GPIO, ознакомьтесь с этим StackOverflow. В этом проекте мы будем использовать нумерацию BCM.

Размещение распиновки здесь для быстрой справки:

Для тех, кто не знаком с макетами , Посмотрите это видео от ScienceBuddiesTv, в котором объясняется, как электричество проходит через макетную плату.

В уроке 1 мы установим один из выводов Pi в качестве выхода, управляя электричеством для включения светодиода по запросу.

Схема подключения

Ниже показано, как все соединить. Используйте резистор 220 Ом. Цвет проводов не имеет значения, но обычно КРАСНЫЙ представляет мощность, а ЧЕРНЫЙ - землю.

Примечание. ВСЕГДА не забудьте отключить питание Pi перед подключением.

Повторно подключите питание, подождите минуту и ​​повторно установите соединение SSH.

Запустите код 🏃💨

Я уже создал код, необходимый для мигания индикатора, и сохранил его на GitHub, чтобы любой мог получить к нему доступ. Мы собираемся клонировать (модное слово для копирования) код из моего репозитория GitHub на ваш Pi, выполнив следующую команду.

 git clone https://github.com/benstr/nova-starter-kit.git 

Теперь у вас должна быть новая папка на нашем Pi, наполненная вкусностями!

 ls nova-starter-kit / 

Запустите код, введя следующую команду.

 sudo python nova-starter-kit / 01_blink / main.py 

Терминал спросит вас, сколько раз вы хотите мигнуть светодиодным индикатором. Введите номер и посмотрите, как загорится и погаснет свет. УРА, мы контролируем электричество!

Есть два файла, управляющих светодиодом. Просмотрите код каждого файла, отправив каждую из этих команд.

 cat nova-starter-kit / 01_blink / main.py 

Main.py ссылается на другой файл для своих светодиодных команд, myLED.py. Давайте посмотрим и на этот файл.

 cat nova-starter-kit / 01_blink / myLED.py 

Будьте амбициозны!

Я добавил несколько дополнительных функций в myLED.py, к которым вы можете получить доступ в main.py. Продолжайте, отредактируйте main.py и вызовите еще несколько функций из myLED.py. Запустите измененный код и посмотрите, что произойдет:

 sudo nano pi-starter-kit / 01_blink / main.py 

Урок 2 - Считайте данные с цифрового датчика

В этом уроке мы добавим цифровой датчик и прочитаем его значение. DHT11 определяет влажность и температуру, отправляя результаты в виде цифрового сигнала. Контакты Pi могут считывать данные с цифровых датчиков прямо из коробки.

В эту папку кода уроков мы добавляем новый файл с именем myDHT.py. В этом файле мы устанавливаем контакт в качестве входа и создаем несколько функций для общего использования. Библиотека Python DHT от Adafruit - настоящая звезда, благодаря которой считывание показаний датчика DHT очень просто.

Вы можете узнать больше о датчиках DHT от Adafruit:https://learn.adafruit.com/dht

Схема подключения

Ниже показано, как все соединить. Используйте резистор 10 кОм.

Примечание. Не забудьте отключить питание Pi перед подключением.

Повторно подключите питание, подождите минуту и ​​повторно установите соединение SSH.

Запустите код 🏃💨

Код, необходимый для этого урока, уже есть на вашем Pi и находится в папке, которую вы клонировали из GitHub на предыдущем шаге.

 ls nova-starter-kit / 02_digital_sensor / 

Прежде чем мы сможем запустить созданный мной код, вам необходимо установить библиотеку Adafruit DHT. Клонируйте новую библиотеку.

 git clone https://github.com/adafruit/Adafruit_Python_DHT.git 

Запустите сценарий установки, который предоставляет Adafruit.

 sudo python Adafruit_Python_DHT / setup.py install 

Протестируйте библиотеку, выполнив следующую команду. Это также позволит убедиться, что вы правильно подключили датчик.

Примечание. Обратите внимание, мы передаем в сценарий 11 и 21. 11 обозначает, какой датчик мы используем (DHT11), 21 обозначает штифт, к которому мы прикрепили датчик.

 sudo Adafruit_Python_DHT / examples / AdafruitDHT.py 11 21 

Убедившись, что библиотека DHT установлена, мы готовы запустить мой сценарий урока. Запустите код, введя следующую команду.

 sudo python nova-starter-kit / 02_digital_sensor / main.py 

Терминал не будет задавать вам никаких вопросов, вместо этого светодиодный индикатор мигнет 3 раза и отобразит текущую температуру и влажность на терминале. Ознакомьтесь с изменениями, которые я внес в main.py

 cat nova-starter-kit / 02_digital_sensor / main.py 

main.py импортировал новый файл myDHT.py. Посмотрим и на этот файл. Как и myLED на предыдущем уроке, я добавил несколько дополнительных функций.

 cat nova-starter-kit / 02_digital_sensor / myDHT.py 
Ваши навыки накаляются!

Урок 3 - Ознакомьтесь с аналоговым датчиком

В прошлом уроке мы считали с цифрового датчика датчик, отправляющий единицы и нули. Есть еще один способ связи некоторых датчиков, который называется аналоговым. Аналоговые датчики могут отправлять любое значение.

Некоторые платы, такие как Arduino UNO, могут считывать данные с датчиков обоих типов. К сожалению, Raspberry Pi может считывать только цифровые датчики. Для считывания аналоговых датчиков нам понадобится аналого-2-цифровой преобразователь между аналоговым датчиком и Pi. Этот чип преобразует аналоговый сигнал в цифровой выход и отправляет его на Pi.

В этом уроке мы настраиваем MCP-3008, который преобразует значение, которое мы получаем от датчика освещенности (называемого фоторезистором), и отправляем его на Pi. Мы добавляем еще одну библиотеку Python Adafruit, на этот раз для микросхемы MCP.

Еще одно примечание по MCP-3008. Он имеет 8 портов, что означает, что он может считывать до 8 аналоговых датчиков. Мы отправляем данные на порт 0. В main.py вы заметите, что мы устанавливаем, какой порт фоторезистор использует в качестве глобальной переменной.

Схема подключения

Ниже показано, как все соединить. Важно, чтобы MCP3008 смотрел в правильную сторону. Убедитесь, что конец с выемкой находится слева . Для MCP3008 требуется много проводов, так что не торопитесь и дважды проверьте все.

Примечание. Не забудьте отключить питание Pi перед подключением.

Повторно подключите питание, подождите минуту и ​​повторно установите соединение SSH.

Запустите код 🏃💨

Код, необходимый для этого урока, уже есть на вашем Pi и находится в папке, которую вы клонировали с GitHub.

 ls nova-starter-kit / 03_analog_sensor / 

Прежде чем мы сможем запустить созданный мной код, вам необходимо установить библиотеку MCP Adafruit. Клонируйте новую библиотеку.

 git clone https://github.com/adafruit/Adafruit_Python_MCP3008.git 

Запустите сценарий установки, который предоставляет Adafruit.

 sudo python Adafruit_Python_MCP3008 / setup.py install 

После завершения установки MCP пора запустить сценарий урока. Запустите код, введя следующую команду.

 sudo python nova-starter-kit / 03_analog_sensor / main.py 

Терминал не будет задавать вам никаких вопросов, вместо этого светодиодный индикатор мигнет 4 раза и отобразит текущую температуру, влажность, а теперь и яркость на терминале.

Ознакомьтесь с изменениями, которые я внес в main.py

 cat nova-starter-kit / 03_analog_sensor / main.py 

main.py импортировал новый файл myMCP.py. Посмотрим и на этот файл. Как и myDHT на предыдущем уроке, я добавил несколько дополнительных функций.

 cat nova-starter-kit / 03_analog_sensor / myMCP.py 
Будущее выглядит ярче, чем когда-либо!

Урок 4 - Запуск с помощью кнопки

Хорошо, у нас есть полностью работающий набор датчиков! Но запуск сценария через терминал в сеансе SSH не идеален. В этом уроке мы настраиваем кнопку для запуска чтения и настраиваем скрипт на непрерывный цикл после загрузки пи.

Схема подключения

Подключение этой кнопки должно быть для вас легкой задачей:

Повторно подключите питание, подождите минуту и ​​повторно установите соединение SSH.

Запустить код 🏃 💨

Код, необходимый для этого урока, уже есть на вашем Pi и находится в папке, которую вы клонировали с GitHub.

 ls nova-starter-kit / 04_button / 

Запустите код, введя следующую команду.

 sudo python nova-starter-kit / 04_button / main.py 

Терминал ничего не будет делать, пока он ждет, пока вы нажмете кнопку. Вы будете получать показания каждый раз, когда нажимаете кнопку.

То, что происходит, называется бесконечным циклом. Сценарий не остановится, пока вы не остановите его вручную. Что делает сценарий? Прослушивание нажатия кнопки. Выйдите из цикла, нажав CTRL + C. Ознакомьтесь с изменениями, которые я внес в main.py

 cat nova-starter-kit / 04_button / main.py 

Запустите код… при запуске! 🔌 🏃 💨

У нас есть кнопка и датчики, ура! но нам все еще нужен терминал для запуска скрипта Python. Давайте настроим Pi на автоматический запуск этого скрипта при запуске.

Для этого нам нужно будет снова отредактировать системный файл с помощью редактора терминала NANO.

 sudo nano /etc/rc.local 

Откроется файл с уже находящимся в нем важным содержимым. Использует стрелки для прокрутки документа до конца. Переместите курсор перед exit0 и добавьте следующую строку:

 sudo python /home/pi/nova-starter-kit/04_button/main.py &

Нажмите CRTL + X . для выхода Y чтобы сохранить, ВВОД для подтверждения и выхода из редактора Nano. Вернувшись в обычный терминал, перезагрузим Pi.

 перезагрузка sudo 

Через несколько минут нажмите кнопку, и если индикатор мигнет 4 раза, значит, все заработало! Теперь каждый раз, когда вы включаете Pi, этот скрипт будет работать в фоновом режиме.

Урок 5 - Отправка данных через Wi-Fi

Наш скрипт запускается при запуске, отлично! Но нам все еще нужно подключиться к терминалу по SSH, чтобы увидеть данные. Вместо этого давайте отправим данные через Wi-Fi в систему обработки данных Hologram.

Если вы не активировали свою SIM-карту Hologram, сделайте это сейчас:https://dashboard.hologram.io/activate.

После активации на панели управления устройством голограммы щелкните устройство, которое представляет вашу Nova, чтобы перейти на страницу с подробными сведениями.

Из боковой навигации страницы сведений перейдите на подстраницу конфигурации. Нажмите Показать учетные данные маршрутизатора . , сгенерируйте новый 8-значный код и сохраните его для следующего шага.

Подключитесь к Pi через SSH и откройте файл credentials.json в редакторе NANO.

 sudo nano nova-starter-kit / credentials.json 

Замените… 8-символьным ключом, полученным на панели управления голограммой.

Нажмите CRTL + X . для выхода Y чтобы сохранить, ВВОД для подтверждения и выхода из редактора Nano. Теперь отредактируйте правила запуска, чтобы использовать файл main.py из урока 5.

 sudo nano /etc/rc.local 

Изменить со второй на последнюю строку:

 sudo python /home/pi/nova-starter-kit/04_button/main.py &

в

 sudo python /home/pi/nova-starter-kit/05_cloud/main.py &

Помните, что это нужно сделать до exit0. Нажмите CRTL + X . для выхода Y чтобы сохранить, ВВОД для подтверждения и выхода из редактора Nano. Вернувшись в обычный терминал, перезагрузим Pi.

 перезагрузка sudo 

Через несколько минут нажмите кнопку, и если индикатор мигнет 4 раза, значит, все заработало!

А теперь о настоящей магии, перейдите на https://dashboard.hologram.io/?drawer=full, и если мы все сделали правильно, вы увидите результаты сенсора в облаке!

Ознакомьтесь с изменениями, которые я внес в main.py для этого урока.

 cat nova-starter-kit / 05_cloud / main.py 
мы в облаках, братан

Урок 6 - Отправка данных по сотовой связи

Представьте, что вы хотите прикрепить этот массив датчиков окружающей среды где-нибудь без Wi-Fi, например в сарае или загородном доме.

В этом уроке мы добавим в скрипт сотовую связь. Шаги этого урока очень похожи на предыдущие.

Сначала следуйте инструкциям по сборке Nova, прилагаемым к упаковке. Убедитесь, что SIM-карта вставлена ​​правильно, и подключите Nova к Pi. Подождите, пока на Nova не загорится постоянный светодиод, а затем замигает второй светодиод. Это означает, что у вас есть доступная сотовая сеть для подключения.

Подключитесь к вашему Pi через SSH и отредактируйте правила запуска, чтобы использовать main.pyfile в уроке 6.

 sudo nano /etc/rc.local 

Изменить со второй на последнюю строку:

 sudo python /home/pi/nova-starter-kit/05_cloud/main.py &

в

 sudo python /home/pi/nova-starter-kit/06_cellular/main.py &

Помните, что это нужно сделать до exit0.

Нажмите CRTL + X . для выхода Y чтобы сохранить, ВВОД для подтверждения и выхода из редактора Nano.

Вернувшись в обычный терминал, мы перезагрузим Pi.

 перезагрузка sudo 

Через несколько минут нажмите кнопку, и если индикатор мигнет 4 раза, значит, все заработало!

А теперь о настоящей магии, перейдите на https://dashboard.hologram.io/?drawer=full, и если мы все сделали правильно, вы увидите результаты сенсора в облаке!

Ознакомьтесь с изменениями, которые я внес в main.py для этого урока.

 cat nova-starter-kit / 06_cellular / main.py 

Поздравляю! Вы сделали это !!

Теперь вы можете подключить свое творение в любой точке мира и собирать данные о локальной среде.

Теперь вы производитель погодных роботов… попрощайтесь с погодным специалистом.

Источник: Стартовый набор Hologram Nova


Производственный процесс

  1. Разработка веб-приложений в облаке; Руководство для начинающих
  2. Kit предоставляет платформу разработки mmWave
  3. Руководство по подключению к стартовому набору Raspberry Pi 3
  4. Raspberry Pi / Hologram SMS Controlled AC Power Switch
  5. Разместите свой собственный бесплатный веб-сайт .onion с помощью Raspbian на RPi3
  6. Сборка робота MonkMakes Raspberry Pi
  7. Intellisaurus - робот-динозавр
  8. Обзор стартовых комплектов HARTING MICA®
  9. Обзор стартовых комплектов HARTING MICA®
  10. Понимание стартера двигателя