Цей пристрій реєструє дані про температуру води і підключається до веб-сайту для відображення і побудови графіка температури в режимі реального часу. Він також має додаткову сторінку завантаження даних. Додаток можна встановити на більшість телефонів і комп’ютерів.інструменти та матеріали: – raspberry pi zero w; – sd-карта (8 гб або більше); – макетна плата; – водонепроникний роз’єм живлення; – водонепроникний 3-провідний роз’єм; – водонепроникний цифровий датчик температури ds18b20; – контролер для lipo акумулятора;- lipo акумулятор; – сонячна панель; – водонепроникна коробка; – два кабельних введення; – штирьові роз’єми; – паяльні приналежності; – викрутка; – кабель usb; – комп’ютер;

Крок перший: vps (віртуальний виділений сервер)у даній версії веб-сервер відокремлений від датчика, тому що це прискорює завантаження веб-сайту і робить його більш надійним. Майстер розміщує його на vps від vultr. При бажанні можна запустити веб-сервер на raspberry pi або на будь-якому сервері або старому комп’ютері, який є в наявності.для настройки віртуального сервера потрібно виконати ряд дій.спочатку створіть обліковий запис на vultr.com . Перейдіть на вкладку “products”, щоб створити vps.як тип сервера виберіть cloud compute.для розташування сервера виберіть будь-яке місце, але бажано якомога ближче.в якості операційної системи можна вибрати будь-який дистрибутив linux.в якості розміру сервера виберіть твердотільний накопичувач 25 гб, 1 процесор, пам’ять 1024 мб, пропускну здатність 1000 гб. Потім створіть ім’я хоста сервера і мітку. Щось на кшталт “watertemp”.після того, як всі налаштування будуть встановлені, натисніть «deploy now».тепер просто почекайте кілька хвилин, поки ос встановиться.

Тепер потрібно налаштувати сервер. Це буде досить просто, так як просто потрібно скопіювати і вставити команди в консоль.по-перше, потрібно підключитися до сервера по ssh. Для цього можна використовувати команду ssh або putty для windows.клікнувши на щойно створений vps, ми потрапляємо на сторінку з інформацією про сервер.команда ѕѕнпросто натисніть кнопку копіювання поруч з ip-адресою, потім відкрийте емулятор терміналу і введіть команду ssh root @, де-ip-адреса сервера. Якщо буде запит: “are you sure you want to continue connecting?”, відповідаємо “yes «і підтверджуємо»enter”. Потім поверніться до vultr і натисніть кнопку копіювання пароля root. Тепер вставте це в пароль root і натисніть enter. Якщо звичайна вставка не спрацює, можливо, доведеться спробувати вставити, натиснувши ctrl + shift + v.

Використання ріттупісля скачування і установки putty, відкриваємо його. Потім повертаємося на сторінку vultr і натискаємо кнопку копіювання поруч з ip-адресою. Вставляємо в текстовий введення host name. Кількома» open«, потім, якщо з’являться спливаючі вікна,»accept”. У вікні консолі з’явиться питання, під яким користувачем увійти в систему. Вводимо “root” і натискаємо enter. Повертаємося в vultr і копіюємо пароль root. Знову переходимо в консоль, прописуємо пароль і підтверджуємо enter.якщо отримано вітальне повідомлення, значить все зроблено правильно.

Тепер потрібно створити обліковий запис користувача для запуску веб-сервера.зверніть увагу, що символ ‘ # ‘ або ‘ $ ‘ просто вказує, чи слід вам запускати команду від імені користувача root, і не повинен бути включений в фактичну команду.спочатку запускаємо наступну команду

Показати / приховати текст

Потім встановлюємо надійний пароль для цього користувача. Натискаємо enter ще кілька разів, щоб ввести в обліковий запис інформацію за замовчуванням.тепер додамо користувача watertemp в групу sudoers. Це дозволить пізніше запускати команди з правами root.

Показати / приховати текст

Відкриваємо текстовий редактор nano. За допомогою клавіш зі стрілками переходимо в кінець файлу і додаємо наступний рядок.

Показати / приховати текст

Далі натискаємо ctrl + o, щоб зберегти, і enter для підтвердження. А для виходу натискаємо ctrl + x. Тепер входимо в обліковий запис watertemp, використовуючи наступну команду.

Показати / приховати текст

Крок третій: установка програмного забезпеченнядальше потрібно встановимо код на цей vps, щоб сайт запрацював.виконайте наступну команду, щоб потрапити в домашній каталог користувачів watertemp.

Показати / приховати текст

Встановіть пакети за допомогою цієї команди

Показати / приховати текст

Вводимо пароль, який використовували для створення користувача температури води.після завантаження пакетів, завантажуємо код за допомогою цієї команди.

Показати / приховати текст

Переходимо в папку і компілюємо typescript в jаvascript за допомогою наступної команди

Показати / приховати текст

Відкриваємо файл конфігурації і додаємо необхідні значення.

Показати / приховати текст

Команда повинна відкрити файл config.json в vim. Кількома “i”, потім міняємо наступні настройки: – змініть sensor.ip на ip-адресу сервера. (localhost, якщо запускаємо веб-сервер на raspberry pi).- змініть server.port на 80натискаємо escape, потім введіть ‘: wq’ і натискаємо enter.далі вводимо команду

Показати / приховати текст

Щоб запустити веб-сервер вводимо

Показати / приховати текст

Вводимо пароль. Якщо все зроблено правильно, то буде напис “starting water temp serve v0.4 ‘. Тепер протестуємо веб-сайт, ввівши ip-адресу з vultr в свій веб-браузер. Повинна відкритися веб-сторінка.

Крок четвертий: підключення до різавантажити raspberry pi imager. За допомогою програми встановлюємо raspberry pi os lite на sd-карту. У завантажувальному розділі створюємо новий файл з ім’ям wpa_supplicant.conf і прописуємо в нього наступний текст.

Показати / приховати текст

Створюємо файл з ім’ям ssh без вмісту. Встановлюємо карту назад в raspberry, і пристрій повинен підключитися до мережі після завантаження.тепер просто потрібно підключитися до нього по ssh. Для цього повторюємо ті ж кроки для використання ssh, що і на кроці 2 (до створення облікового запису), але підключаємося до «[email protected]». Пароль за замовчуванням – raspberry.

Крок п’ятий: налаштування raspberryдальше потрібно встановити програмне забезпечення raspberry pi. Як і раніше, створюємо новий обліковий запис користувача і додаємо її в групу sudoers. Пароль за замовчуванням для користувача pi « “raspberry”. При запуску visudo додаємо рядок»watertemp all = (all: all) all”.

Показати / приховати текст

Далі виконуємо наступну команду, щоб встановити необхідні пакети.

Показати / приховати текст

Для установки cargo (використовуваного для компіляції / запуску серверного програмного забезпечення) використовуємо наступну команду. Після запиту вибираємо варіант 1.

Показати / приховати текст

Перезавантажуємо пристрій.

Показати / приховати текст

Перевіряємо.

Показати / приховати текст

Якщо отримуємо інформацію про версію, значить все зробили правильно.далі завантажимо код для віртуального сервера.

Показати / приховати текст

Щоб почати збірку програмного забезпечення, виконуємо наступну команду (виконання може зайняти близько години).

Показати / приховати текст

Як тільки це буде зроблено, запускаємо режим налагодження. Режим налагодження означає, що він буде просто використовувати випадкові значення для поточної температури.

Показати / приховати текст

Якщо все зроблено правильно,то відобразяться наступні значення:

[*] starting sensor interface [v0.7] logging debug[*] device id: 28-00000bdf4372[*] serving on: 127.0.0.1:3030

Крок шостий: взаємодія датчика з веб-серверомтепер підключимо веб-сервер до raspberry pi. Для цього майстер використовує порт 3030. Користувачеві потрібно буде налаштувати порт у своїй мережі. Цей процес відрізняється для кожного маршрутизатора, тому потрібно з’ясувати, як це зробити самостійно.вводимо наступну команду, щоб відкрити файл конфігурації

Показати / приховати текст

Далі потрібно буде змінити деякі налаштування.- змініть ip на 0.0.0.0-змініть порт на обраний вами порт (або 3030) – змініть log_delay на час між збором точок данихдалее отримуємо ip-адресу за допомогою команди:

Показати / приховати текст

Записуємо це значення, воно знадобиться пізніше.переходимо до сервера:

Показати / приховати текст

Змініть sensor.port на 3030 або свій обраний порт.змініть sensor.ip, щоб він став загальнодоступним ip-адресою raspberry pi.перезавантажте датчик на raspberry pi за допомогою цієї команди:

Показати / приховати текст

Далі потрібно переконається, що можна підключитися до raspberry pi, вибравши “[public ip]:[port]/test” в своєму веб-браузері. Якщо написано: ‘all systems are a go!’, значить все зроблено правильно.

Крок сьомий: автозапусктепер потрібноНалаштувати автозапуск сервера для pi. Це легко зробити, відредагувавши файл / etc / rc.local.відкрийте файл rc.local за допомогою наступної команди:

Показати / приховати текст

Копіюємо і вставляємо в нього текст.

Показати / приховати текст

Якщо все зроблено правильно, то при наступному включенні pi, він повинен автоматично запустити сервер датчиків.

Крок восьмий: додавання датчикасначала потрібно згідно зі схемою підключити датчик до raspberry pi. Схему підключення датчика можна подивитися тут.потім запускаємо pi і ssh. Вводимо наступну команду:

Показати / приховати текст

Переходимо в “interface options”, потім “1-wire”, потім “enable”. Вибираємо» finish ” і перевантажуємо пристрій.далі, щоб переконатися, що датчик підключений правильно, і щоб отримати ідентифікатор пристрою, використовуємо цю команду:

Показати / приховати текст

Вона повинна показати id, який виглядає приблизно так: «28-00000d0ab505». Копіюємо цей ідентифікатор і поміщаємо його в файл конфігурації інтерфейсу датчика за допомогою команди:

Показати / приховати текст

Тепер знову потрібно відредагувати файл /etc/rc.local, щоб він запускався без режиму налагодження. Запустіть цю команду:

Показати / приховати текст

Переконуємося, що вміст файлу таке ж, як нижче

Показати / приховати текст

Перевантажуємо pi, він повинен підключитися до датчика і почати отримувати дані від нього.щоб перевірити його в своєму веб-браузері, переходимо до [public ip]: [port] / temp.

Крок дев’ятий: сборкаподключаем до пристрою зарядний пристрій, акумулятор і сонячну панель. Кабелі до сонячної панелі і датчику температури повинні проходити через водонепроникні роз’єми, тому переконуємося що все працює і демонтуємо роз’єми від сонячної панелі і датчика температури.

У коробці свердлимо два отвори для кабелів датчика температури і сонячної панелі. Встановлюємо кабельні вводи в отвори і закріплюємо їх. Через кабельні вводи простягаємо дроти і припаюємо на місце. Збираємо все в коробці .

Крок десятий: додаток і веб-сайтданное пристрій працює на iphone з додатком scriptable, яке можна завантажити з магазину.

Головна сторінкаякщо працюємо з веб-сайтом, то праворуч верху на головній сторінці є три кнопки:” пташка “і” хрестик ” – якщо підключені веб-сокети. Клацання по ньому повторно підключить веб-сокет.”графік” – показати / приховати графік° f / ° c / ° k-змінити одиницю виміру.внизу сторінки є два посилання: код-перехід в репозиторій githubдані-перехід на сторінку даних.сторінка данихможно потрапити сюди, клікнувши посилання даних внизу головної сторінки. На цій сторінці відображається багато інформації про дані (найнижча/висока температура води, середня температура, кількість опитувань і т.д.). Вона також дозволяє завантажувати його у вигляді файлу csv або json і посилання на загальнодоступний rest api.у розділі «завантажити дані» відображається приблизний розмір файлу csv в кілобайтах.rest аріщелкнув посилання під access api, потрапляємо в документацію api. На цій сторінці представлена вся інформація про api і деякі базові приклади на python.