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

スマートピルディスペンサー

コンポーネントと消耗品

>
Microchip Technology AVR-IoTWA開発ボード
× 1
Arduino Mega 2560
× 1
SG90マイクロサーボモーター
× 4
Itead NextionNX8048T070-汎用7.0 "HMI TFTLCDタッチディスプレイ
× 1
Adafruit16チャネル12ビットPWM /サーボドライバーI2C
× 1
スピーカー:0.25W、8オーム
× 1
AdafruitフォトトランジスタIR光センサー
× 4
Adafruit 5mm IR LED-940nm
× 4
超音波センサー-HC-SR04(汎用)
× 1
パララックスフィードバック360°高速サーボ
× 1
Adafruit 5V2Aスイッチングウォール電源
× 1

必要なツールとマシン

>
3Dプリンター(汎用)
はんだごて(汎用)
はんだワイヤー、鉛フリー

アプリとオンラインサービス

>
Microchip Technology MPLAB XIDE
Arduino IDE
Autodesk Fusion 360
AmazonWebサービスAWSIoT
AmazonWebサービスAWSDynamoDB
AmazonWebサービスAWSAPIゲートウェイ
Amazon Web Services AWS Lambda
MicrosoftVSコード

このプロジェクトについて

なぜこのプロジェクトなのか?

現在、非電気式と自動式の2種類のピルディスペンサーが市場に出回っています。それらの大部分はリマインダーメカニズムを持っていますが(視覚障害または感覚障害のある人には必ずしも適していません)、どちらのタイプも通常、ピルを毎日または毎週異なるコンパートメントに整理する人を必要とし、患者を依存者にします。今日、Covid-19のおかげで、家族や高齢者の助手は扶養家族の世話をするのがより困難になっています。

そのため、手作りのピル組織を必要とせず、障害者が利用でき、患者の自立を支援する能力を備えたスマートピルディスペンサーを作成する必要があると考えました。

以下に、2020年の10の最高のピルディスペンサーを示します:

ご覧のとおり、ピルボックスの世界では改善すべき点がたくさんあります。そして、これはまさにSmartPillが解決しようとしていることです。

仕組みは?

SmartPillシステムは2つのサブシステムで構成されています:

  • スマートピルディスペンサー: ピルを整理、保管、分配する物理的なデバイス。患者のメインインターフェースとして機能します。
  • Smartpill Webアプリ: 医師または患者の責任者が患者の摂取量を構成および追跡できるようにするWebユーザーインターフェイス。

使いやすいユーザーインターフェイスを備えたWebアプリケーションの助けを借りて、医師はSmartpillディスペンサーごとに最大4つの異なる錠剤を構成でき、錠剤ごとに1日あたり最大3つの摂取量を選択します。これにより、医師は患者自身の介入なしに、必要なときにいつでもリモートで投与量を変更できます。

SmartPillシステムは、老人性痴呆、アルツハイマー病、または視覚的または聴覚的障害のある患者が抱える困難を考慮して設計されています。このため、ディスペンサーには大判画面があり、患者は快適な方法で錠剤を充填できます。また、適切なタイミングで錠剤を服用するように患者に思い出させる可聴で軽いフィードバックもあります。

>

ユーザーは、さまざまな錠剤をどこに、どのように入れる必要があるかを心配する必要はありません。これは、ピルディスペンサー内にピルを分配し、適切なタイミングで必要な用量をディスペンスするスマートなメカニズムがあるためです。

SmartPill Dispenserは、Microchip AVR-IoTボードのWiFi接続のおかげで、AWSクラウドへのワイヤレスインターネット接続を備えているため、Webアプリケーションを介してリモートで監視および構成できます。

アプリは、ピルが服用されたときにも表示され、ピルが服用されていない場合は家族に通知します。

SmartPillディスペンサー

ディスペンシングシステム

不思議に思うかもしれませんが、ディスペンシングシステムはどのように機能しますか?このセクションでは、さまざまな部分をすべて示し、それらの機能について説明します。

画面以外はすべてPLAプラスチックで3Dプリントされていることを明確にする必要があります。下記のディスペンサー全体の.STLファイルを確認することもできます。

<図>

1。ベース :ディスペンサーの残りの部分をサポートします。モーションセンサーを機能させるために2つの穴があります。錠剤をカップに入れるフラップが含まれています。

2。スライダー :スライダーの上部はピルコンテナをサポートしています。その下には、錠剤がフラップまで下がる斜面があります。下部には、すべての電子機器を入れるための隙間があります。

3。サイドパーツ :湿度、温度、汚れ、ほこりからハードウェアと錠剤を保護するために使用されます。

4。 Nextion NX8048T070 :ディスペンサーとユーザー間のインターフェースとして使用される画面。

5。トップパーツ

  • 湿度、温度、汚れ、ほこりからハードウェアと錠剤を保護するために使用されます(上)。
  • ドラムをピル容器から分離します(下)。

6。パララックスサーボ900-0005 :正しい位置に配置する360º電気モーター部品番号7。

7。ドラム :外側とピル容器の間の接続チューブ。適切なコンテナに到達するために回転します。

8。バックドア :スライダーでピル容器に出入りする必要があります。

9。スピーカー :必要なすべての情報をユーザーに伝えます。

10。超音波センサー - HC SR04 :このデバイスは、カップが移動したかどうかを検出します。

11。錠剤容器 :それらは丸薬を含み、適切なタイミングで適切な量でそれらを分配します。プロトタイプとして、4つの容器を備えたピルディスペンサーを設計しました。ただし、より大きな容量に適応させることができます。

独自のSmartPillディスペンサーが必要ですか?下部にあるSTLファイルをダウンロードして、3Dプリンターですべてのパーツを印刷してください。プロジェクトは完全にオープンソースです。

次のセクションでは、ディスペンシングシステムの組み立て方法を段階的に説明します。

アセンブリ

  • スライダーを3Dプリントするために(パート2 -一般的な図面) 私たちはそれを3つの部分に分割しました。それで、まず最初にそれを組み立てます。ナッツを選びます( 2.3.2 - スライダーの描画 )そしてそれらをスライダーに合わせます( 2.2- スライダーの描画 )溶接機付き。次に、両方の部品をねじ込みます( 2.3.1&2.2 - スライダーの描画 )。キャップを付けるのを待ちます(2.4 - スライダーの描画) 電子機器が配線されるまで。
<図>
  • 電子機器をスライダーの隙間に入れます。 超音波センサー-HCSR4 (パート10-一般図) スライダーのカバー(2.4)をねじ込みます。
  • ピルコンテナを組み立てます(ピルコンテナの図面をご覧ください )それぞれSG90サーボ付き。まず、パート1とパート7を結合します SG90をパート7 にねじ込みます 。次に、パート3をパート4(ホイールベアリング)と結合し、最後にパート2を追加します。次に、ピルコンテナーをスライダーの上部にねじ込みます(パート2-一般的な図面)
<図>
  • 画面をねじ込みます(パート4-一般的な図面)。 適切な側部に取り付け、プラグを取り付けます。次に、サイダーパーツを合わせます(パート3-一般図面) クリックするまでベースに移動します。
  • 2つのトップパートがあります((パート5-一般図面) 。ナットを再度選び、部品に取り付けることで組み立てます。今回は溶接機は必要ありません。ドラムを取り付ける(パート7 -一般的な図面) および視差サーボ(パート6-一般図) それらの間に、両方の上部をねじ込みます。
  • 最後にバックドアをねじ込みます(パート8 -一般的な図面) 上部のアセンブリに。

エレクトロニクス

主要な電子機器の頭脳は、ピルをディスペンスするサーボモーター、Nextionタッチスクリーン、リアルタイムクロック(RTC)、サウンドエフェクト、AVR-IoT通信ボードの制御を担当するArduinoMegaです。

  • AVR-IoTはシリアルUART接続によってArduinoMegaに接続されています。
  • サーボモーターはPWMによって制御されます。
  • RTCはI2CによってArduinoMegaに接続されています。
  • 錠剤を検出するためのIRバリアセンサーは、Arduinoボードのアナログピンに接続されています。
<図>

プロジェクトを複製するには、プロトボードまたは自作のPCBを使用して、回路図で説明されているようにすべての接続を行う必要があります。上の写真のような木の板に回路を取り付けることを強くお勧めします。

回路図はページの最後にあります。

SmartPillWebアプリ

SmartPill Webアプリは、電子デバイスのセットアップと他の人の投薬の制御を伴うエクスペリエンスを促進することを目的としています。

  • 患者の情報、服用する必要のある錠剤、必要な投与量、および時間間隔を使用して、簡単にSmartPillディスペンサーをセットアップできます。
  • ピルの摂取量を監視します。
<図> <図> <図>

どのように開発されましたか?

最初からWebを開発するには、プログラミングの基本的な領域であるバックエンドとフロントエンドを使用します。 Smartpill WebAppは、次のもので作成されています:

  • バックエンド。 AWS APIゲートウェイ(HTTT API Rest)。
  • フロントエンド。 Ionic&Angular。最初からWebを開発するには、プログラミングの基本的な領域であるバックエンドとフロントエンドを使用します。

Ionicは、AngularJSに基づく完全に無料のオープンソースNodeJSフレームワークであり、iOSおよびAndroidのネイティブコンポーネントのライブラリを通じてプラットフォーム固有のUI要素を提供します。アプリケーション開発には、HTML、CSS、JavaScript、Angularなどのフロントエンドテクノロジーを使用します。 IonicはAngularCLI(コマンドラインインターフェイス)を使用して、完全に機能するモバイルアプリケーションを作成できます。

Ionicは大規模なJavaScriptエコシステムの一部であるため、Ionicを使用してWebを開始する前に、Node.jsをインストールして機能させる必要があることに注意してください。

Ionic Frameworkのドキュメントページでは、アプリの起動時に問題なくガイドできます。ただし、Smartpillアプリを作成するための最初の手順について簡単に説明します。

1.コードエディタのコマンドラインに移動し、npmを使用してionicCLIをインストールします。

  $ npm install -g @ ionic / cli  

2.新しいアプリを作成します:

  $ ionic start smartpill-webui blank  

3.フロントエンドのフォルダーに移動して実行します:

  $ cd smartpill-webui 
$イオンサーブ

アプリを実行すると、デバイスのブラウザでアプリをテストできます。このIonic関数は、デバッグとテストに不可欠です。

SmartpillWebアプリの基本構造。

Smartpill Webアプリは、ナビゲーションを簡素化するために、シンプルな方法で編成されています。アプリのフォルダ内には、アプリルーティングモジュール、アプリコンポーネントファイル、「サービス」フォルダ、各ルートのフォルダがあります。

フロントエンドテクノロジに触れたことがない場合は、このコードの概要で、さまざまな言語が互いにどのように相互作用するかに気付くでしょう。しかし、それがどのように機能するかを簡単に説明すると、Webの一部はフォルダーのhtmlファイルであり、typescriptファイルはユーザーがページを操作したときに実行される関数です。 modules.tsはルーティングを目的としています。

Smartpillアプリの最も重要なファイルは次のとおりです。

  • app-routing.module.ts。 これにより、ユーザーは利用可能なすべての異なるルートをナビゲートできます。特定のパスを使用すると、Web開発者はあるルートから別のルートに変数を運ぶことができます。
  constroots:Routes =[
{
path: ''、
redirectTo: 'page-login'、
pathMatch: 'full'
}、
{
パス: 'page-config'、
loadChildren:()=> import( './ page-config / page-config.module')。then(m => m.PageConfigPageModule)
}、
{
path: 'page-status'、
loadChildren:()=> import( './ page-status / page- status.module ')。then(m => m.PageStatusPageModule)
}、
...
  • post.service.ts。 APIと通信します。ここでは、PostServiceクラスとともに、主要なインターフェイス(Post、Dep、およびLog)が定義されています。 PostServiceには、APIと通信するための主要な基本機能があります。get関数、APIから情報を受信します。投稿、APIで新しい記事を作成します。削除、記事を削除します。と置くと、インターフェースの既存の記事を編集しますが、そこに含まれていた以前のデータを削除します。
  getPosts(){
return this.http.get (this.API);
}

getDeposit(){
return this.http.get (this.DEPOSIT);
}


getLogs(){
return this.http.get (this.LOGS);
}

createPost(ピル:文字列、デポジット:文字列、重量:文字列、朝:ブール、午後:ブール、夜:ブール) {
return this.http.post (this.API、{
ピル、
デポジット、
重量、
朝、
午後、
夜、
});
}

removePost(id:string){
return this.http.delete ( ` $ {this.API} / $ {id} `);
}
...

ピルページの構成と編集。
Smartpillには、「page-config」と呼ばれるプログラムされたすべての投稿を表示するための専用ルートがあります。ピルを構成するための新しい投稿を作成するには、ユーザーは右下隅にあるボタンを押す必要があります。これにより、ピルは編集ページ「page-edit-pill」に再ルーティングされます。ただし、作成せずに編集したい場合は、作成済みの投稿の編集ボタンを押すと、Webは「page-edit-pill」にリダイレクトしますが、投稿のIDを保持します。これらの2つのステートメントは次のように定義されています。

  • 新しい投稿ボタンを作成する
   



  • 投稿ボタンの編集
  ​​ 

編集

「page-edit-pill」ページは、ユーザーがIDの有無にかかわらずルートを入力したかどうかを認識し、単純なifを使用して対応する機能を実行します。

  • ルートモジュールで定義されたIDを持つパス
  {
path: 'pill / edit /:postId'、
loadChildren:()=> import( './ page-edit-pill / page-edit-pill.module ').then(m => m.PageEditPillPageModule)
}、
  • ルートにIDが含まれているかどうかを読み取る
  ngOnInit(){
this.actiavtedRoute.paramMap.subscribe((paramMap)=> {
if(ParamMap.get( "postId")){
this。 postService
.getPostById(paramMap.get( "postId"))
.subscribe((res)=> {
this.post =res;
this.editing =true;
});
}
});
}
  • 表示例の場合
   
{{editing?
'Update Your':
'Create your'
}}デポジット
  • ボタンの例の場合
   
{{editing? '更新': '送信'}}

「edit-pill-page」は、入力や選択などのイオンUIコンポーネントを使用してユーザーと対話します。これらのコンポーネントは、後でAPIに送信されます。

  • 複数選択の時間
   
時刻を選択するには、ここをクリックしてください。
cancelText ="Cancel" okText ="Submit">

午後


  • ピル入力
   
ピル名:

「config-page」はAngularLife Cycleでプログラムされているため、「page-edit-pill」などから戻ると、ページが更新され、投稿が再読み込みされ、変更が自動的に更新されます。

  • ロードポスト関数
  loadPosts(){
this.postService.getPosts()。subscribe(
(res)=> {
this.posts =res;
}、
(err)=> console.log(err)
);
this.postService.getDeposit()。subscribe(
(res)=> {
this .dep =res;
console.log(this.dep);
};
(err)=> console.log(err)
);

「config-page」には、ユーザーがピルを削除できるボタンもあります。これは、メッセージアラームを表示して、このアクションが確実かどうかを確認する非同期関数です。

  • 投稿の削除
  async removePost(id:string){
const alert =await this.alertController.create({
header: "Alert"、
subHeader: "よろしいですか?このデポジットを削除しますか? "、
メッセージ:"復元できません。 "、
ボタン:[
"キャンセル "、
{
テキスト: "はい"、
ハンドラー:()=> {
this.postService.removePost(id).subscribe(
(res)=> {
console.log (res);
this.loadPosts();
}、
(err)=> console.log(err)
);
}、
}、
]、
});
alert.present();
}
を待つ

ログページ

ログページは、ディスペンスされたピルの情報を取得し、履歴ルートのログとして表示します。 「config-page」と同様に機能しますが、APIにある情報のみをロードします:

  • ログの取得
  loadPosts(){
this.postService.getLogs()。subscribe(
(res)=> {
this.log =res;
コンソール。 log(this.log);
}、
(err)=> console.log(err)
);
}

ngOnInit() {
this.loadPosts();
}

ionViewWillEnter(){
this.loadPosts();
}
  • ログの表示
   







{{log.date |日付: 'dd / MM / yyy'}}-{{log.date |日付: 'HH_mm'}} h


{{log.patient_name}}


{{log.pills}}






アマゾンウェブサービス

AWSは、SmartPill Systemを導入するために選択されたサービスプロバイダーです。これは、同じエコシステム内で幅広いサービスを提供し、完全にサーバーレスのアプローチを採用できるようにするためです。これにより、アプリケーションはユーザーのニーズに合わせてエスカレーションし、使用した分だけ支払うことができます。

スマートピル クラウドアーキテクチャ

Smartpillシステムは、アマゾンウェブサービスを使用した完全にサーバーレスのアーキテクチャを使用しています。これにより、ユーザーのニーズに合わせてアプリケーションをスケールアップおよびスケールダウンできます。アーキテクチャは次の図で説明されています:

<図>

Smartpill Dispenserは、WiFi機能を備えたMicrochipAVR-IoTボードを使用してAWSエコシステムと通信します。 AVR-IoTは、MQTTプロトコルによってAWS IoTCoreを介して接続されます。これにより、クラウドエコシステムとハードウェア自体の間の双方向接続が可能になります。この通信は、ディスペンサーにディスペンスメッセージを送信するため、およびディスペンサーからクラウドに確認イベントを送信するために使用されます。

Ionic Angular NodeJSフレームワークを使用して開発されたウェブアプリケーションフロントエンドがコンパイルされ、それらの静的ファイルがAWSS3ストレージサービスにアップロードされます。 Webアプリケーションのバックエンドは、Lambda関数を呼び出すAWS APIGatewayで開発されたHTTTAPIRestサービスです。これらのLambda関数は、ピルの構成と摂取ログを保存するDynamoDBデータベースと通信します。

AWSイベントブリッジは、正しい時間にディスペンスイベントをトリガーするためのスケジューラーとして使用されます。このイベントはLambda関数をトリガーし、データベースで各摂取量に必要な錠剤を検索し、IoTコアを使用してこの情報をSmartPillディスペンサーに送信します。

AWS-IoT コア

AWS IoT CoreでAVR-IoTボードを実行するために最初に行う必要があるのは、ボードをAWSアカウントに接続することです。このプロセスは、MicrochipがAWS向けIoT開発者ガイド

で説明しています。

これにより、AVR-IoTボードをAWSアカウントに入れる準備が整います。これは、AWS IoTCoreの[管理]で確認できます。 [物事]タブ。

<図>

次に、スタートガイドの説明に従って、WiFiクレデンシャルを使用してAVR-IoTボードを構成し、インターネットにアクセスできることを確認します。

AWS DynamoDB

次に、Webアプリケーションを構成する必要があります。このために最初に行う必要があるのは、Webアプリに必要なDynamoDBテーブルを登録することです。

<図>
  • smartpill-history:服用したピルのすべてのログを保存します
  • smartpill-pills:設定したピルを保存します

テーブルの作成をクリックします:

<図>

正確な名前を付けて、プライマリキーとして「id」を選択します。

AWS ラムダ

AmazonDynamicDBFullAccessが接続されていることを確認してください。 Lambda関数がDynamoDBデータベースから読み取り/書き込みできるようにします。これを行うには、[権限]タブに移動します:

<図>

そして、[役割名]をクリックします。これにより、このLambda関数の実行ロールにリダイレクトされます。各Lambda関数に独自の実行ロールを設定することをお勧めします。

<図>

[ポリシーの添付]をクリックして「dynamodb」を検索しない場合は、AmazonDynamoDBFullAccessが表示される必要があります:

<図>

Lambda関数に完全なDynamoDBアクセスを与えることは、このチュートリアルの目的のためにのみ安全であり、本番環境では実行されません。

次に、構成に移動し、Githubリポジトリから機能コードを追加します(以下のリンク):

<図>

リポジトリ上のすべてのLambda関数に対してこれを繰り返します。

次に、メッセージがボードによって送信されたときに適切な機能が実行されるように、LambdaとIoTCoreの統合を構成します。

AVR-IoTによって送信されるディスペンシングメッセージの確認を構成して、対応するログエントリと通知をデータベースで生成できるようにします。

AWS-IoT Coreに移動し、[Add andRules]をクリックしてルールを設定します。

<図>

[新しいルールの作成]をクリックして、名前を付けます:smartpill_confirmationpillと簡単な説明

次に、次のクエリステートメントを入力します。

  SELECT * FROM'confirmationpill ' 

以前に作成した「smartpill-confirmationpill」を指すように「メッセージをLambda関数に送信する」アクションを構成します。

<図>

次のパートに進む準備ができています。

AWSイベントブリッジ

Event Bridgeは、正しい時間にピルをディスペンスするために、SmartPillディスペンサーにメッセージを送信するラムダ関数の起動を処理します。これを行うために、3つのトリガースケジュールイベントを構成します。 1つは朝用、もう1つは午後用、もう1つは夜の摂取用です。

AWS Event Bridgeサービスに移動し、[Create aRule]をクリックします。

名前を付けて、deScheduleイベントパターンをcron式として構成します。

注:これらのcron式はUTC時間であることに注意してください。

<図>

'smartpill-dispensepill' Lambda関数をターゲットとして選択します:

<図>

This Lambda function will be executed at the defined time.

Define two more Rules for the desired time on morning, afternoon and night intakes.

AWS API Gateway

Go to AWS API Gateway and click on Create API. Choose HTTP API and click on Build:

<図>

Give it "smartpill-webui" as a name (or whatever you want, this do not really matters)

And configure all the Lambda functions as Integrations:

<図>

Click Next and configure all the routes as specified in table below:

<図> <図>

Finally, deploy the API to get a HTTP endpoint.

Alternatively you can import the JSON file 'smartpill-api.json' on the repository down below.

AWS S3

AWS S3 storage service is made for storing files but it can also act as a static web server for example a web page. In order to do so, you first need to create a Bucket.

Go to S3 and Click on "Create a Bucket":

<図>

Give a friendly name (this will be your DNS).

Now you will have to activate Static website hosting feature. Go to properties and go straight to the bottom. You will find this:

<図>

Click on "Edit" and Enable the Static website hosting feature and select 'index.html' as your index and error document:

<図>

Then upload your website static files that Angular has compiled and access your DNS. You are ready to go!

AVR-IoT Board

AVR-IoT board from Microchip is used as a communication interface in order to provide connectivity to the Cloud to the Dispenser. It is connected to the Main Arduino Board by means of a Serial interface.

Firmware for the AVR-IoT WA Development Board based on the original example

The already implemented CLI have been extended including the command "pill" , its corresponding callback pill_command() that parses the message and sends th confirmation JSON by MQTT to the topic "confirmationpill". Also, the message in case of unknown message is customized as well as in the callback in case of incorrect parameter.

The original CLI used the USART2, which is connected to the debugger by the PCB but is not accessible. For this version, the CLI structure and the funtionality printf() are now implemented on the USART1, which is avaliable with the pin conectors RX and TX 。 This alows us to use this CLI with any external device, taking into account the following configuration:

<図>

We have also managed to add a custom MQTT topic subscription with a JSON parser. On the aplication_manager.c could be found the modified version of subscribeToCloud() to subscribe to "dispensepill" custom topic and how it is linked to a custom callback receiveddispenseFromCloud() in which the data from the JSON is extracted.

On IoTPill.h header are defined the main structures used to control the data received and sent.

In order to enable communication between the Main Arduino board and the AVR-IoT we have developed a simple communication bidirectional protocol that has two messages.

  • dispensepill: Will be triggered by AWS Event Bridge at the right time and will send the event to the Dispenser to dispense a pill
  • confirmationpill :Will be send by the AVR-IoT board when the pill has been correctly dispensed in order to announce it to the AWS, which will log into the database.

'dispensepill' message (AWS → IoT Board → Arduino)

Event Bridge will trigger the smartpill-dispensepill Lambda function to send by MQTT to IoT Board a JSON formated string that has this fields:

{
"cmd":"dispensepill",
"npills":2,
"intake":{
"time":"morning"
},
"pills":{
"1":{
"pill":"Ibuprofeno",
"qty":1,
"deposit":1,
"weight":200
},
"2":{
"pill":"Paracetamol",
"qty":2,
"deposit":2,
"weight":500
}
}
}

and the IoT board will send by USART to the Arduino:

D Ibuprofeno 1 1 200 D Paracetamol 2 2 500 \n 

'confirmationpill' messageArduino → IoT Board → AWS

The arduino will send to the command "pill " and, if the delivery was incorrect or correct, it will add a ' 1 ' if it was okay:

pill 1 

This message will be processed by the custom CLI of the IoT Board taking into account the intake previusly send ( specifying the corresponding "time") and it will send the following JSON to AWS:

{
"time":"morning",
"state":"ok"
}

AWS will send the log with Lambda functions triggered to the Web service

質問は? Leave a comment below and we will do our best to help you!

コード

Smartpill Web Application
Frontend code for the webapp user interfacehttps://github.com/makers-upv/smartpill-webui
Smartpill Backend Lambda functions
https://github.com/makers-upv/smartpill-lambda
Smartpill AVR-IoT Code
https://github.com/makers-upv/smartpill-avriot
Smartpill Arduino Code
https://github.com/makers-upv/smartpill-arduinofw

カスタムパーツとエンクロージャー

Thingiverseリポジトリ
Thingiverse Repository for SmartPill DispenserCAD file on thingiverse.com Pill Dispenser Mechanism that will take care of dispensing the correct quantity of pills. It is controlled by a servo.SmartPill Dispenser enclousureThe full assembly of the project. It's in STEP format so it can be modified by everyone. smartpill_full_assembly_ybV7DD7ehX.step

回路図

SmartPill Electronics HW connections

製造プロセス

  1. 睡眠薬
  2. 経口避妊薬
  3. スマートバーテンダー
  4. スマート信号機
  5. スマートゴミ箱
  6. スマートプラントIoT
  7. UnifiedWater v1
  8. スマートブラインド
  9. 本当にスマートボックス
  10. オートデスクスマートマニュファクチャリング
  11. スマートマニュファクチャリングとは何ですか?