工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

リアルタイムCOVID-19感染者数トラッカー&アラートシステム

必要な部品と材料

Arduino UNO ×1
Bolt IoT Bolt WiFiモジュール ×1
Adafruit RGBバックライトLCD - 16×2 ×1

プロジェクト概要

このプロジェクトは2つの機能を持ちます。1つ目:世界のコロナウイルス総感染者数を表示(パンデミック当時のデータ)。2つ目:10分間で感染者数が500人増加したらブザーを鳴らし、コロナの深刻さを警告。

常に感染者数を表示し、危険性を意識させるのが最善の警戒方法です。

Boltモジュールのセットアップ

ESP8266は有名なWi-Fiモジュールですが、Boltはそのさらに上の簡易化レイヤーです。Arduinoがマイコン制御を簡易化したように、BoltはESP8266をAPIで制御できるようにします。専用言語はなく、JavaScript/HTMLがベースですが、API経由で公式言語のように制御可能。

まずboltiot.comでアカウント作成。ログイン後、Device IDとAPI Keyを取得(APIはEnable必須)。Pythonのboltiotライブラリ(GitHub)をインストール。Google Colabでの実行がおすすめ。

データ取得元:Worldometers。PythonでWebスクレイピング(urllib + BeautifulSoup)して総感染者数を取得。

boltiotライブラリの主な関数:

リアルタイムCOVID-19感染者数トラッカー&アラートシステム

Pythonコード実行時にAPI KeyとDevice IDを入力。

リアルタイムCOVID-19感染者数トラッカー&アラートシステム

リアルタイムCOVID-19感染者数トラッカー&アラートシステム

Arduino側

BoltからUART(Tx/Rxクロス接続)でデータ受信。ArduinoはSerial.read()で受信し変数に格納。LiquidCrystalライブラリでLCD制御。lcd.print()で表示。LCD設定とカーソル位置指定を忘れずに(公式チュートリアル参照)。

これで世界のコロナ総感染者数ライブアップデーター完成。

リアルタイムCOVID-19感染者数トラッカー&アラートシステム

さらに、10分で100人増加時にブザーを5秒鳴らす機能も搭載(コード内では500人/10分の条件も)。動作は動画で確認可能。

コード

Pythonコード

from bs4 import BeautifulSoup as bf import requests import time from boltiot import Bolt import ssl a = list() #———————-Algorithum to compare the values every 10 min————— def checking1(x,count): a.insert(count,x) if count == 1: print(a) if(a[1]-a[0] > 10): a.clear() return(1) else: a.clear() return(0) #—————————getting the value from website———————— def getting_value(): #getting the value from website y = '' html = requests.get("https://www.worldometers.info/coronavirus/") soup = bp(html.text,'html.parser') tag = soup("span") Effected_people = tag[4].contents[0] for i in range(9): if i==1 or i==5: continue y = y + Effected_people[i] x = int(y) return(x) #———————Execution starts from here———————————— Effected_people = getting_value() apikey = input("Enter API Key") Bolt_id = input("Enter the Bolt_ID") device = Bolt(apikey,Bolt_id) for i in range(1000): print(device.isOnline()) response = device.serialBegin(9600) x = getting_value() z = checking1(x,0) response2 = device.serialWrite(x) print(response2) time.sleep(100) #time.sleep(100) with delay for execution for 100 sec y = getting_value() z = checking1(y,1) response2 = device.serialWrite(y) if(z == 1): device.digitalWrite('0','HIGH') time.sleep(5) device.digitalWrite('0','LOW') 

Arduinoコード

#include<LiquidCrystal.h> LiquidCrystal lcd(2,3,4,5,6,7); //Initialising the LCD void setup() { Serial.begin(9600); lcd.begin(16,2); // 16*2 LCD display lcd.home(); Serial.setTimeout(50); lcd.print("Total affected :"); } void loop() { String x; lcd.setCursor(0,2); if(Serial.available()>0) // Reading the data from UART { x = Serial.readString(); } lcd.print(x); //Printing it to the LCD DISPLAY } 

回路図

Arduino-LCD接続、Bolt-Arduino接続。
リアルタイムCOVID-19感染者数トラッカー&アラートシステム

製造プロセス

  1. GY-91モジュールでRaspberry Pi上に堅牢な温度・センサーAPIを構築
  2. Raspberry Pi で Motion を使ったライブ IP カメラのセットアップ – ステップバイステップガイド
  3. ネジとボルトの種類を理解して最適な組み立てを実現する
  4. ネジとボルトの違い:種類、用途、選び方のポイント
  5. ボルトヘッドの種類と安全な締結への活用:実践ガイド
  6. ボックスレンチ(メガネレンチ):構造、使い方、メリット
  7. マシンボルト完全ガイド:種類、グレード、材質、正しいトルク管理で確実な締結を
  8. ラッチボルト完全解説:ドアを閉じ続ける最古の機構、クロスバーから現代デッドボルトまで
  9. Java 9(JDK 9)の主要機能とメリット
  10. Java 9マルチ解像度イメージAPI:レスポンシブグラフィックスを簡素化
  11. Java 9 CompletableFuture API改善:遅延・タイムアウト・サブクラス対応・新ファクトリ