Coronavirus Live Updator
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
このプロジェクトについて
このプロジェクトは2つの機能を果たします。第一に、パンデミックを知っているコロナウイルスの総数を表示します。第二に、世界中の症例数が10分から500人増加したときにブザーを鳴らす機能です。コロナウイルスは冗談ではなく、真剣に受け止められるべきであることを示します。
人々が予防策を講じられるように警戒を怠らないための最善の方法は、リストされているケースの数とその危険性について常に注意を喚起することです。
設定 上 ボルト モジュール:
として esp8266は、インターネットに接続するための非常に有名なモジュールです。つまり、ボルトとは、esp8266の単純化の次の層です。 Uは、arduinoがマイクロコントローラーの扱い方を単純化したものだと考えることができます。
つまり、ボルトには固定言語のようなものはありませんが、jsとhrmlは固定言語として使用されますが、ボルトにはAPI(アプリケーションプログラミングインターフェイス)があります。APIについて知らない人のためにグーグルで検索してください。したがって、APIを使用することで、公用語のようにボルトを制御できます。
最初に、APIキーとデバイスIDを取得する必要があります。これらの2つのパラメーターとPythonのboltiotライブラリを使用して、boltデバイスを制御できます。なぜデバイスIDなのか、ボルトデバイスはn個あるので、このIDは他のIDと区別されます。
ボルトを制御するために、uはwww.boltiot.comにアカウントを持っている必要があります。アカウントにログインしたら、次の手順に従います。

写真にあるように、デバイスIDを書き留めて、APIをクリックします。

[有効にする]をクリックすることを忘れないでください。APIキーを実行してください。
プログラミング で python:
最初 Pythonのboltiotライブラリについて知ることができます。https://github.com/Inventrom/bolt-api-pythonからダウンロードして、Pythonのurライブラリに追加できます。
次のことは、データを抽出することです。つまり、現在世界で登録されているコロナウイルスの総数です。データを抽出するために使用したWebサイトはhttps://www.worldometers.info/coronavirus/からです。PythonでWebスクレイピングを使用してデータを抽出しました。 urllibライブラリとBeautifulSoupを使用して、ウェブサイトを切り刻み、データを取得しました。
したがって、pythonboltiotライブラリにはこれらの関数があります

Pythonでのプログラミングに適したgooglecollabを使用してください。次に、提供したPythonコードを実行し、APIキーとデバイスIDを入力します。


そして、行ってもいいです。
Arduino サイド:
今 PythonでAPIを使用してボルトをプログラミングし、UARTを介してボルトからarduinoにデータを送信しています。TxピンとRxピンはそれぞれarduilnoのRxピンとTxピンに接続されています。
回路図に示すように、LCDディスプレイにArduinoに接続します。
ArduinoはSerialReadコマンドを使用してUART信号を受信し、その値を変数に格納できます
LCDディスプレイを扱うarduinoのLiquidCrystalライブラリがあります。
関数lcd.display( "Hello")は、helloをLCDに出力します。 LCDを設定し、カーソルを設定する必要があることを前に忘れないでください。 lcdの詳細については、https://www.arduino.cc/en/Tutorial/LiquidCrystalDisplayをご覧ください。
そして、世界で登録されている全コロナウイルスのライブアップデーターが完成しました。

このプロジェクトは、10分の間に100のようにケースの数が増加した場合に、5秒間ブザーをトリガーするもう1つのことを行います。コロナウイルスが冗談ではないことを示します。
出力は次のビデオに示されています。
ありがとう。
コード
- Pythonコード
- Arduinoコード
Pythonコード Python
from bs4 import BeautifulSoup as bfimport requestsimport timefrom Boltiot import Boltimport ssla =list()#———————- 10分ごとに値を比較するAlgorithum ————— defchecking1(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)#————————— Webサイトから値を取得———————— def get_value():#Webサイトから値を取得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 ):i ==1またはi ==5の場合:続行y =y + Effected_people [i] x =int(y)return(x)#———————実行はここから始まります—————— —————— Effected_people =get_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 =get_value()z =checking1(x、0)response2 =device.serialWrite(x)print(re sponse2)time.sleep(100)#time.sleep(100)実行が100秒間遅れるy =get_value()z =checking1(y、1)response2 =device.serialWrite(y)if(z ==1) :device.digitalWrite( '0'、 'HIGH')time.sleep(5)device.digitalWrite( '0'、 'LOW')
Arduinoコード Arduino
このコードは、ボルトからUARTを介して入力を受け取り、LCD画面に表示します#includeLiquidCrystal lcd(2,3,4,5,6,7); // LCDの開始voidsetup(){Serial.begin(9600); lcd.begin(16,2); // 16 * 2 LCDディスプレイlcd.home(); Serial.setTimeout(50); lcd.print( "Total Impacted:");} void loop(){String x; lcd.setCursor(0,2); if(Serial.available()> 0)// UARTからのデータの読み取り{x =シリアル.readString(); } lcd.print(x); // LCDディスプレイに印刷します}
回路図
arduinoから液晶ディスプレイへの接続、 ボルトからarduinoまで。

製造プロセス