久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7355|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

【開源項(xiàng)目】基于stm32+機(jī)智云平臺(tái)的智能藥盒

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:137406 發(fā)表于 2016-8-23 16:12 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
[tr][/tr]
基于stm32+機(jī)智云平臺(tái)的智能藥盒






file:///C:\Users\GUOQIN~1.QIN\AppData\Local\Temp\ksohtml\wps28E1.tmp.png(寶盒鎮(zhèn)樓o(∩_∩)o )
============================華麗的分割線=============================
創(chuàng)意來源:
“哎呀,忘了”!隨著生活節(jié)奏的加快,年齡的增長,人們的總?cè)菀淄浺恍┦虑,比如忘記吃藥。尤其是家中的老人,由于身體問題,可能需要長期服藥治療,但年歲大了總?cè)菀淄@忘那的。但在科技快速發(fā)展的今天,這些都不是問題,我們?cè)O(shè)計(jì)并開發(fā)了一款名為“健康衛(wèi)士”的智能藥盒,可以聯(lián)網(wǎng)監(jiān)測(cè)用戶的服藥情況,提示用戶服藥,并且根據(jù)用戶設(shè)定自動(dòng)提取所需藥物。
哎呀!!!!!!!忘記了我是來參賽的,說下這次大賽要求達(dá)成情況.

比賽要求達(dá)成情況。。。。。。。。。。。。。。。。。。。。。。。。。。。!

各個(gè)分值項(xiàng)詳解!。。。。。。。。。。。。。。。。。。。。。。。。。。。!


一,需求提煉數(shù)據(jù)點(diǎn)以及產(chǎn)品定義
二  設(shè)別端實(shí)現(xiàn)配置入網(wǎng)
文字描述。。。。。。。。
三 實(shí)現(xiàn)demoapp和設(shè)備的控制其實(shí)我們自己開發(fā)了個(gè)app(后面介紹)
視頻演示。。。。。。。。
四  實(shí)時(shí)時(shí)鐘
因?yàn)檫@個(gè)功能我們用了pcf8563芯片 這樣就實(shí)現(xiàn)了實(shí)時(shí)時(shí)鐘(而且斷網(wǎng)后不影響
五  報(bào)警功能
手機(jī)遠(yuǎn)程提醒(后面介紹)   語音提醒(后面介紹)
六 可產(chǎn)品化程度
先說一下這次的成本,因?yàn)槲覀冞@次是做的模型 ,什么都在探索,步進(jìn)電機(jī)就換了兩次(每次都是力不夠(力量和空間)),總體來說這次花費(fèi)還是不很多500 元左右,如果投入市場(chǎng)成本也就是200元左右。另外我們?cè)O(shè)計(jì)的非常人性化
一次設(shè)定,很長時(shí)間不用管(它是自動(dòng)篩選藥品哦),即使是掉電也不用怕哦,有記憶功能
斷網(wǎng)更不要怕 自動(dòng)重新連接   另外本地運(yùn)行(語音還是照樣提醒哦)
七硬件系統(tǒng)

硬件系統(tǒng)主要是pcb 走線布局  +stm32(C語言 功能實(shí)現(xiàn))+wifi(esp8266)+機(jī)智云平臺(tái)

在下先放個(gè)功能圖給大家嘗嘗鮮!。。。。。。。。。。。。。。

八軟件系統(tǒng)
軟件部分主要是用機(jī)智云的sdk,集成了機(jī)智云的sdk,開發(fā)起來還是很好入門的,向我這種小白在學(xué)了兩個(gè)星期后就基本入門了,加上自己的做做UI,就可以了。代碼很簡單 貼出來了在后面(開源了)(好戲在后面。。。。。。。。。。。。。。



九 發(fā)揮項(xiàng)
1 語音播報(bào)
通過wt588d, 進(jìn)行語音提醒 ,感情切(也可以自己錄音哦
2 斷電后數(shù)據(jù)不丟
通過數(shù)據(jù)保存(一次設(shè)定,全程無憂)。(再也不用擔(dān)心重復(fù)設(shè)定了)
3 自動(dòng)化分揀藥品種類
每天還在想那個(gè)藥品吃多少嗎(你就out 啦 ,全新智能藥盒, 再也不用煩惱了
4 斷網(wǎng)后自動(dòng)連接
斷網(wǎng)后重新設(shè)置  不用  (網(wǎng)絡(luò)連接失敗后(有網(wǎng)絡(luò)后)會(huì)重新連接的
==================================================================
                                我是分割線=============================================================================
---------------------------上面主要講了寫大賽要求相關(guān)的東西。。。說了這么多我們還沒有知道過程呢。。。好吧 馬上來--------------------------------------------------------------------
我們這個(gè)智能藥盒是我們團(tuán)隊(duì)兩個(gè)月多月的時(shí)間從無到有的一個(gè)搞機(jī)械 組裝,一個(gè)搞app ,一個(gè)搞電路寫程序,接下來就有我詳細(xì)介紹我們的這個(gè)作品
總體結(jié)構(gòu):
電氣部分:通過重新設(shè)計(jì)板子設(shè)計(jì)基于機(jī)智云平臺(tái)的設(shè)備,設(shè)計(jì)集成了若干模塊,主要包括eeprom,時(shí)鐘模塊、運(yùn)動(dòng)驅(qū)動(dòng)模塊語                    音提醒模塊、傳感器模塊(溫濕度、霍爾、光耦)、網(wǎng)絡(luò)模塊。
藥盒模型:重點(diǎn)解決自動(dòng)提取藥物部分的模型(轉(zhuǎn)盤式雙層篩板
         :使用機(jī)智云平臺(tái),獨(dú)立搭建數(shù)據(jù)點(diǎn)。
      APP:與機(jī)智云平臺(tái)和MCU通訊,從而進(jìn)行對(duì)智能藥盒的管理控制;遠(yuǎn)程        監(jiān)控;遠(yuǎn)程提醒,遠(yuǎn)程溫濕度查看

材料清單:
pcb板(定制)
步進(jìn)電機(jī);驅(qū)動(dòng)
震動(dòng)電機(jī)
Risym槽型光耦模塊
溫濕度模塊
語音模塊
漢高百得PL70
圓管
esp8266  模塊
電池
軸承
亞克力(定制)
同步輪
同步帶
pcf8563模塊
下面我就以時(shí)間軸方式介紹一下電氣部分7月一號(hào):開貼報(bào)名
7月1-5號(hào):尋找小伙伴
7月5-10號(hào):  確定主題(開始建立數(shù)據(jù)點(diǎn))7月11-20號(hào):對(duì)機(jī)智云的協(xié)議分析(包括大段字節(jié) ,數(shù)據(jù)的標(biāo)志位的理解)
7月21-30號(hào):對(duì)本地時(shí)鐘和傳輸?shù)臄?shù)據(jù)進(jìn)行寫入
8月1-10號(hào): 對(duì)機(jī)智云的硬件充分理解畫出原理圖和pcb板
8月11-17號(hào):終于等到了pcb(對(duì)電路板的焊接 和調(diào)試 )
8月17-20號(hào):對(duì)原理圖和pcb 圖進(jìn)行修改 從而實(shí)現(xiàn)功能
注:(程序一直穿插其中)
下面以此介紹程序的實(shí)現(xiàn),電路的實(shí)現(xiàn),pcb注意的事再次之前先發(fā)下我的文件夾(每天都在記錄 哦)
機(jī)智云程序
網(wǎng)絡(luò)獲取時(shí)間:
  • uint8_t getTime[9]={0xFF,0xFF,0x00,0x05,0x17,0x78,0x00,0x00,0x94};

[color=rgb(0, 0, 0) !important]復(fù)制代碼

  • <blockquote>/**

[color=rgb(0, 0, 0) !important]復(fù)制代碼

原理圖:: pcb圖  來個(gè)3d吧
大家會(huì)疑問,為什么要做成是這樣的 答案是省錢,又做了個(gè)wifi 轉(zhuǎn)接板   現(xiàn)實(shí)圖這樣的

裁剪之后是這樣的(焊接的照片 傳不上去  正在聯(lián)系機(jī)智云。。。稍后奉上)







                                     健康衛(wèi)士APP一、控制頁面
  • <font size="1">//控制頁面
  • protected void onCreate(Bundle savedInstanceState) {
  •                 super.onCreate(savedInstanceState);
  •                 setContentView(R.layout.gokit_control);
  •                 tabHost = (TabHost) findViewById(android.R.id.tabhost);
  •                 tabHost.setup();
  •                 tabHost.addTab(tabHost.newTabSpec("one_drug").setIndicator("第一種藥").setContent(R.id.one_drug));
  •                 tabHost.addTab(tabHost.newTabSpec("two_drug").setIndicator("第二種藥").setContent(R.id.two_drug));
  •                 tabHost.addTab(tabHost.newTabSpec("three_drug").setIndicator("第三種藥").setContent(R.id.three_drug));
  •                 tabHost.addTab(tabHost.newTabSpec("four_drug").setIndicator("第四種藥").setContent(R.id.four_drug));
  •                 initViews();   //初始化控件
  •                 initEvents();  //初始化**
  •                 deviceStatu = new HashMap<String, Object>();
  •                 controlDevice = (ControlDevice) getIntent().getSerializableExtra("device");
  •                 WApplication.mControlDevice=controlDevice;
  •                 xpgWifiDevice = BaseActivity.findDeviceByMac(controlDevice.getMac(), controlDevice.getDid());
  •                 if (xpgWifiDevice != null) {
  •                         xpgWifiDevice.setListener(deviceListener);
  •                 }
  •                 actionBar.setTitle(controlDevice.getName());
  •         }
  •         final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
  •         public static String bytesToHex(byte[] bytes) {
  •                 char[] hexChars = new char[bytes.length * 3];
  •                 for (int j = 0; j < bytes.length; j++) {
  •                         int v = bytes[j] & 0xFF;
  •                         hexChars[j * 3] = hexArray[v >>> 4];
  •                         hexChars[j * 3 + 1] = hexArray[v & 0x0F];
  •                         hexChars[j * 3 + 2] = ' ';
  •                 }
  •                 return new String(hexChars);
  •         }
  •         /**
  •          * 初始化控件.
  •          */
  •         private void initViews() {
  •                 mybutton = (Button) findViewById(R.id.mybutton);
  •                 editTextA = (EditText) findViewById(R.id.editTextA);
  •                 editTextB = (EditText) findViewById(R.id.editTextB);
  •                 editTextC = (EditText) findViewById(R.id.editTextC);
  •                 editTextD = (EditText) findViewById(R.id.editTextD);
  •                 editTextE = (EditText) findViewById(R.id.editTextE);
  •                 editTextF = (EditText) findViewById(R.id.editTextF);
  •                 editTextG = (EditText) findViewById(R.id.editTextG);
  •                 editTextH = (EditText) findViewById(R.id.editTextH);
  •                 vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
  •                 swInfrared = (Switch) findViewById(R.id.sw_infrared1);
  •                 Map<String, String> map = FileActivity.ShowData3();
  •                 if(map != null)
  •                 {
  •                         editTextA.setText(map.get("Aname"));
  •                         editTextB.setText(map.get("Age"));
  •                         editTextC.setText(map.get("Bname"));
  •                         editTextD.setText(map.get("Bge"));
  •                         editTextE.setText(map.get("Cname"));
  •                         editTextF.setText(map.get("Cge"));
  •                         editTextG.setText(map.get("Dname"));
  •                         editTextH.setText(map.get("Dge"));
  •                 }
  •         }
  •         /**
  •          * 初始化**.
  •          */
  •         private void initEvents() {
  •                 /**打開預(yù)約時(shí)間頁面*/
  •                 mybutton.setOnClickListener(new OnClickListener() {
  •                         @Override
  •                         public void onClick(View v) {
  •                                 // TODO Auto-generated method stub
  •                                 String unt1 = editTextB.getText().toString().trim();
  •                                 String unt2 = editTextD.getText().toString().trim();
  •                                 String unt3 = editTextF.getText().toString().trim();
  •                                 String unt4 = editTextH.getText().toString().trim();
  •                                 Intent intent = new Intent();
  •                                 //儲(chǔ)存藥品名字合個(gè)數(shù)
  •                                 if(TextUtils.isEmpty(editTextC.getText().toString()) && TextUtils.isEmpty(editTextE.getText().toString()) && TextUtils.isEmpty(editTextG.getText().toString()))
  •                                 {
  •                                         FileActivity.DataLog3(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()), "", 0, "",0,"",0);
  •                                 }
  •                                 else if(editTextE.getText().toString() == null && editTextG.getText().toString() == null)
  •                                 {
  •                                         FileActivity.DataLog3(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()),editTextC.getText().toString(),Integer.parseInt(editTextD.getText().toString()) , "",0,"",0);
  •                                 }
  •                                 else if(editTextG.getText().toString() == null)
  •                                 {
  •                                         FileActivity.DataLog3(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()),editTextC.getText().toString(),Integer.parseInt(editTextD.getText().toString()) , editTextE.getText().toString(),Integer.parseInt(editTextF.getText().toString()),"",0);
  •                                 }
  •                                 else
  •                                 {
  •                                         FileActivity.DataLog3(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()), editTextC.getText().toString(),Integer.parseInt(editTextD.getText().toString()), editTextE.getText().toString(),Integer.parseInt(editTextF.getText().toString()), editTextG.getText().toString(),Integer.parseInt(editTextH.getText().toString()));
  •                                 }
  •                                 if(TextUtils.isEmpty(unt1))
  •                                 {
  •                                         intent.putExtra("one1","0");
  •                                 }
  •                                 else
  •                                 {
  •                                         intent.putExtra("one1",unt1);
  •                                 }
  •                                 if(TextUtils.isEmpty(unt2))
  •                                 {
  •                                         intent.putExtra("one2","0");
  •                                 }
  •                                 else
  •                                 {
  •                                         intent.putExtra("one2",unt2);
  •                                 }
  •                                 if(TextUtils.isEmpty(unt3))
  •                                 {
  •                                         intent.putExtra("one3","0");
  •                                 }
  •                                 else
  •                                 {
  •                                         intent.putExtra("one3",unt3);
  •                                 }
  •                                 if(TextUtils.isEmpty(unt4))
  •                                 {
  •                                         intent.putExtra("one4","0");
  •                                 }
  •                                 else
  •                                 {
  •                                         intent.putExtra("one4",unt4);
  •                                 }
  •                                 intent.setClass(GokitControlActivity1.this, Time_Activity.class);
  •                                 startActivity(intent);
  •                         }
  •                 });
  •                 swInfrared.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  •                         @Override
  •                         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  •                                 try {
  •                                         if(isChecked == true)
  •                                         {
  •                                                 vibrator.vibrate(new long[]{1000,3000,1000,3000},0);  //手機(jī)震動(dòng)提示
  •                                                 new AlertDialog.Builder(GokitControlActivity1.this).setTitle("警告")//設(shè)置對(duì)話框標(biāo)題
  •                                              .setMessage("為了您的健康!\n請(qǐng)按時(shí)吃藥!")//設(shè)置顯示的內(nèi)容
  •                                             .setNegativeButton("確定",new DialogInterface.OnClickListener() {//添加返回按鈕
  •                                                  @Override
  •                                                  public void onClick(DialogInterface dialog, int which) {//響應(yīng)事件
  •                                                      // TODO Auto-generated method stub
  •                                                         SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm");
  •                                         Date curDate = new Date(System.currentTimeMillis());//獲取當(dāng)前時(shí)間
  •                                         String str = formatter.format(curDate);
  •                                         if(editTextA.getText().toString() != null)
  •                                         {
  •                                                                  FileActivity.DataLog2(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()),str);
  •                                         }
  •                                         if(editTextC.getText().toString() != null)
  •                                         {
  •                                                 FileActivity.DataLog2(editTextC.getText().toString(),Integer.parseInt(editTextD.getText().toString()),str);
  •                                         }
  •                                         if(editTextE.getText().toString() != null)
  •                                         {
  •                                                 FileActivity.DataLog2(editTextE.getText().toString(),Integer.parseInt(editTextF.getText().toString()),str);
  •                                         }
  •                                         if(editTextG.getText().toString() != null)
  •                                         {
  •                                                 FileActivity.DataLog2(editTextG.getText().toString(),Integer.parseInt(editTextH.getText().toString()),str);
  •                                         }
  •                                                          vibrator.cancel();
  •                                                      Log.i("123"," 請(qǐng)保存數(shù)據(jù)!");
  •                                                  }
  •                                              }).show();//在按鍵響應(yīng)事件中顯示此對(duì)話框
  •                                         }
  •                                         else
  •                                         {
  •                                                  vibrator.cancel();
  •                                         }
  •                                         Log.v("123", ""+isChecked);
  •                                         sendJson(KEY_INFRARED, isChecked);
  •                                 } catch (JSONException e) {
  •                                         e.printStackTrace();
  •                                 }
  •                         }
  •                 });
  •         }</font>

[color=rgb(0, 0, 0) !important]復(fù)制代碼

                                               


二、預(yù)約時(shí)間
  • <blockquote>class Button12 implements OnClickListener

[color=rgb(0, 0, 0) !important]復(fù)制代碼







三、溫濕度查看
  • /**
  • *溫濕度查看
  • */
  • case R.id.action_device_status:
  •                         new Ale.Builder(GokitControlActivity1.this).setTitle("溫濕度查看")//設(shè)置對(duì)話框標(biāo)題
  •                      .setMessage("環(huán)境濕度   "+ s +"\n" + "環(huán)境溫度  " + w)//設(shè)置顯示的內(nèi)容
  •                     .setNegativeButton("確定",new DialogInterface.OnClickListener() {//添加返回按鈕
  •                          @Override
  •                          public void onClick(DialogInterface dialog, int which) {//響應(yīng)事件
  •                              // TODO Auto-generated method stub
  •                              Log.i("alertdialog"," 請(qǐng)保存數(shù)據(jù)!");
  •                          }
  •                      }).show();//在按鍵響應(yīng)事件中顯示此對(duì)話框
  •                         break;

[color=rgb(0, 0, 0) !important]復(fù)制代碼

                                               


四、儲(chǔ)存數(shù)據(jù)與讀取數(shù)據(jù)

  • /**

[color=rgb(0, 0, 0) !important]復(fù)制代碼


五、服藥日志記錄

  • /*<span style="font-size: 14px; line-height: 1.5;">*服藥日志</span>

[color=rgb(0, 0, 0) !important]復(fù)制代碼









點(diǎn)評(píng)回復(fù) 編輯
[url=]使用道具[/url] [url=]舉報(bào)[/url]



[tr][/tr]



174
主題
368
帖子
725
積分

積分725
沙發(fā)
發(fā)表于 2016-7-5 17:22:58 | 只看該作者


期待中!。





管理回復(fù) 編輯
[url=]使用道具[/url]






8
主題
90
帖子
331
積分

積分331
板凳
  樓主| 發(fā)表于 昨天 14:14 | 只看該作者


【STM 32】之智能藥盒
本帖最后由 郭慶帥 于 2016-8-22 18:43 編輯

                                 健康衛(wèi)士APP一、控制頁面
  • <font size="1">//控制頁面
  • protected void onCreate(Bundle savedInstanceState) {
  •                 super.onCreate(savedInstanceState);
  •                 setContentView(R.layout.gokit_control);
  •                 tabHost = (TabHost) findViewById(android.R.id.tabhost);
  •                 tabHost.setup();
  •                 tabHost.addTab(tabHost.newTabSpec("one_drug").setIndicator("第一種藥").setContent(R.id.one_drug));
  •                 tabHost.addTab(tabHost.newTabSpec("two_drug").setIndicator("第二種藥").setContent(R.id.two_drug));
  •                 tabHost.addTab(tabHost.newTabSpec("three_drug").setIndicator("第三種藥").setContent(R.id.three_drug));
  •                 tabHost.addTab(tabHost.newTabSpec("four_drug").setIndicator("第四種藥").setContent(R.id.four_drug));
  •                 initViews();   //初始化控件
  •                 initEvents();  //初始化**
  •                 deviceStatu = new HashMap<String, Object>();
  •                 controlDevice = (ControlDevice) getIntent().getSerializableExtra("device");
  •                 WApplication.mControlDevice=controlDevice;
  •                 xpgWifiDevice = BaseActivity.findDeviceByMac(controlDevice.getMac(), controlDevice.getDid());
  •                 if (xpgWifiDevice != null) {
  •                         xpgWifiDevice.setListener(deviceListener);
  •                 }
  •                 actionBar.setTitle(controlDevice.getName());
  •         }
  •         final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();
  •         public static String bytesToHex(byte[] bytes) {
  •                 char[] hexChars = new char[bytes.length * 3];
  •                 for (int j = 0; j < bytes.length; j++) {
  •                         int v = bytes[j] & 0xFF;
  •                         hexChars[j * 3] = hexArray[v >>> 4];
  •                         hexChars[j * 3 + 1] = hexArray[v & 0x0F];
  •                         hexChars[j * 3 + 2] = ' ';
  •                 }
  •                 return new String(hexChars);
  •         }
  •         /**
  •          * 初始化控件.
  •          */
  •         private void initViews() {
  •                 mybutton = (Button) findViewById(R.id.mybutton);
  •                 editTextA = (EditText) findViewById(R.id.editTextA);
  •                 editTextB = (EditText) findViewById(R.id.editTextB);
  •                 editTextC = (EditText) findViewById(R.id.editTextC);
  •                 editTextD = (EditText) findViewById(R.id.editTextD);
  •                 editTextE = (EditText) findViewById(R.id.editTextE);
  •                 editTextF = (EditText) findViewById(R.id.editTextF);
  •                 editTextG = (EditText) findViewById(R.id.editTextG);
  •                 editTextH = (EditText) findViewById(R.id.editTextH);
  •                 vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
  •                 swInfrared = (Switch) findViewById(R.id.sw_infrared1);
  •                 Map<String, String> map = FileActivity.ShowData3();
  •                 if(map != null)
  •                 {
  •                         editTextA.setText(map.get("Aname"));
  •                         editTextB.setText(map.get("Age"));
  •                         editTextC.setText(map.get("Bname"));
  •                         editTextD.setText(map.get("Bge"));
  •                         editTextE.setText(map.get("Cname"));
  •                         editTextF.setText(map.get("Cge"));
  •                         editTextG.setText(map.get("Dname"));
  •                         editTextH.setText(map.get("Dge"));
  •                 }
  •         }
  •         /**
  •          * 初始化**.
  •          */
  •         private void initEvents() {
  •                 /**打開預(yù)約時(shí)間頁面*/
  •                 mybutton.setOnClickListener(new OnClickListener() {
  •                         @Override
  •                         public void onClick(View v) {
  •                                 // TODO Auto-generated method stub
  •                                 String unt1 = editTextB.getText().toString().trim();
  •                                 String unt2 = editTextD.getText().toString().trim();
  •                                 String unt3 = editTextF.getText().toString().trim();
  •                                 String unt4 = editTextH.getText().toString().trim();
  •                                 Intent intent = new Intent();
  •                                 //儲(chǔ)存藥品名字合個(gè)數(shù)
  •                                 if(TextUtils.isEmpty(editTextC.getText().toString()) && TextUtils.isEmpty(editTextE.getText().toString()) && TextUtils.isEmpty(editTextG.getText().toString()))
  •                                 {
  •                                         FileActivity.DataLog3(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()), "", 0, "",0,"",0);
  •                                 }
  •                                 else if(editTextE.getText().toString() == null && editTextG.getText().toString() == null)
  •                                 {
  •                                         FileActivity.DataLog3(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()),editTextC.getText().toString(),Integer.parseInt(editTextD.getText().toString()) , "",0,"",0);
  •                                 }
  •                                 else if(editTextG.getText().toString() == null)
  •                                 {
  •                                         FileActivity.DataLog3(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()),editTextC.getText().toString(),Integer.parseInt(editTextD.getText().toString()) , editTextE.getText().toString(),Integer.parseInt(editTextF.getText().toString()),"",0);
  •                                 }
  •                                 else
  •                                 {
  •                                         FileActivity.DataLog3(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()), editTextC.getText().toString(),Integer.parseInt(editTextD.getText().toString()), editTextE.getText().toString(),Integer.parseInt(editTextF.getText().toString()), editTextG.getText().toString(),Integer.parseInt(editTextH.getText().toString()));
  •                                 }
  •                                 if(TextUtils.isEmpty(unt1))
  •                                 {
  •                                         intent.putExtra("one1","0");
  •                                 }
  •                                 else
  •                                 {
  •                                         intent.putExtra("one1",unt1);
  •                                 }
  •                                 if(TextUtils.isEmpty(unt2))
  •                                 {
  •                                         intent.putExtra("one2","0");
  •                                 }
  •                                 else
  •                                 {
  •                                         intent.putExtra("one2",unt2);
  •                                 }
  •                                 if(TextUtils.isEmpty(unt3))
  •                                 {
  •                                         intent.putExtra("one3","0");
  •                                 }
  •                                 else
  •                                 {
  •                                         intent.putExtra("one3",unt3);
  •                                 }
  •                                 if(TextUtils.isEmpty(unt4))
  •                                 {
  •                                         intent.putExtra("one4","0");
  •                                 }
  •                                 else
  •                                 {
  •                                         intent.putExtra("one4",unt4);
  •                                 }
  •                                 intent.setClass(GokitControlActivity1.this, Time_Activity.class);
  •                                 startActivity(intent);
  •                         }
  •                 });
  •                 swInfrared.setOnCheckedChangeListener(new OnCheckedChangeListener() {
  •                         @Override
  •                         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  •                                 try {
  •                                         if(isChecked == true)
  •                                         {
  •                                                 vibrator.vibrate(new long[]{1000,3000,1000,3000},0);  //手機(jī)震動(dòng)提示
  •                                                 new AlertDialog.Builder(GokitControlActivity1.this).setTitle("警告")//設(shè)置對(duì)話框標(biāo)題
  •                                              .setMessage("為了您的健康!\n請(qǐng)按時(shí)吃藥!")//設(shè)置顯示的內(nèi)容
  •                                             .setNegativeButton("確定",new DialogInterface.OnClickListener() {//添加返回按鈕
  •                                                  @Override
  •                                                  public void onClick(DialogInterface dialog, int which) {//響應(yīng)事件
  •                                                      // TODO Auto-generated method stub
  •                                                         SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm");
  •                                         Date curDate = new Date(System.currentTimeMillis());//獲取當(dāng)前時(shí)間
  •                                         String str = formatter.format(curDate);
  •                                         if(editTextA.getText().toString() != null)
  •                                         {
  •                                                                  FileActivity.DataLog2(editTextA.getText().toString(),Integer.parseInt(editTextB.getText().toString()),str);
  •                                         }
  •                                         if(editTextC.getText().toString() != null)
  •                                         {
  •                                                 FileActivity.DataLog2(editTextC.getText().toString(),Integer.parseInt(editTextD.getText().toString()),str);
  •                                         }
  •                                         if(editTextE.getText().toString() != null)
  •                                         {
  •                                                 FileActivity.DataLog2(editTextE.getText().toString(),Integer.parseInt(editTextF.getText().toString()),str);
  •                                         }
  •                                         if(editTextG.getText().toString() != null)
  •                                         {
  •                                                 FileActivity.DataLog2(editTextG.getText().toString(),Integer.parseInt(editTextH.getText().toString()),str);
  •                                         }
  •                                                          vibrator.cancel();
  •                                                      Log.i("123"," 請(qǐng)保存數(shù)據(jù)!");
  •                                                  }
  •                                              }).show();//在按鍵響應(yīng)事件中顯示此對(duì)話框
  •                                         }
  •                                         else
  •                                         {
  •                                                  vibrator.cancel();
  •                                         }
  •                                         Log.v("123", ""+isChecked);
  •                                         sendJson(KEY_INFRARED, isChecked);
  •                                 } catch (JSONException e) {
  •                                         e.printStackTrace();
  •                                 }
  •                         }
  •                 });
  •         }

[color=rgb(0, 0, 0) !important]復(fù)制代碼



二、預(yù)約時(shí)間
  • <blockquote>class Button12 implements OnClickListener

[color=rgb(0, 0, 0) !important]復(fù)制代碼








三、溫濕度查看
  • /**
  • *溫濕度查看
  • */
  • case R.id.action_device_status:
  •                         new Ale.Builder(GokitControlActivity1.this).setTitle("溫濕度查看")//設(shè)置對(duì)話框標(biāo)題
  •                      .setMessage("環(huán)境濕度   "+ s +"\n" + "環(huán)境溫度  " + w)//設(shè)置顯示的內(nèi)容
  •                     .setNegativeButton("確定",new DialogInterface.OnClickListener() {//添加返回按鈕
  •                          @Override
  •                          public void onClick(DialogInterface dialog, int which) {//響應(yīng)事件
  •                              // TODO Auto-generated method stub
  •                              Log.i("alertdialog"," 請(qǐng)保存數(shù)據(jù)!");
  •                          }
  •                      }).show();//在按鍵響應(yīng)事件中顯示此對(duì)話框
  •                         break;

[color=rgb(0, 0, 0) !important]復(fù)制代碼




四、儲(chǔ)存數(shù)據(jù)與讀取數(shù)據(jù)

  • /**

[color=rgb(0, 0, 0) !important]復(fù)制代碼


五、服藥日志記錄

  • /*<span style="font-size: 14px; line-height: 1.5;">*服藥日志</span>

[color=rgb(0, 0, 0) !important]復(fù)制代碼

[color=rgb(0, 0, 0) !important]






分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:164794 發(fā)表于 2017-8-4 18:07 | 只看該作者
感謝樓主的分享
回復(fù)

使用道具 舉報(bào)

板凳
ID:18591 發(fā)表于 2019-1-20 21:06 | 只看該作者

下載學(xué)習(xí),謝謝分享
回復(fù)

使用道具 舉報(bào)

地板
ID:555968 發(fā)表于 2020-2-19 18:49 來自手機(jī) | 只看該作者
這個(gè)app用那個(gè)可個(gè)軟件工具生成?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲三区在线 | 国产在线精品免费 | 99伊人网| 最新国产精品视频 | 夜夜精品浪潮av一区二区三区 | 久久国产欧美日韩精品 | 免费看黄色片 | 久久久久久国产精品 | 美女亚洲一区 | 亚洲一区在线观看视频 | 欧洲精品视频一区 | 国产一区二区黑人欧美xxxx | 日韩一区二区三区精品 | 国产一级电影在线观看 | 精品无码久久久久久国产 | 亚洲精品乱码久久久久久按摩观 | 极品的亚洲 | 国产网站久久 | 亚洲国产91 | 亚洲精品日韩一区二区电影 | 超碰在线免费公开 | 尤物在线精品视频 | 成人免费一区二区三区牛牛 | 久久精品国产99国产精品亚洲 | 97国产精品| 国产精品国产a级 | 国产.com | 免费毛片网 | 亚洲福利一区二区 | 久久人人爽人人爽 | 亚洲精品久久久一区二区三区 | 天天艹逼网 | 国产福利91精品 | 成人在线精品视频 | 亚洲精品国产电影 | 午夜精品久久久久久久99黑人 | 久久久久久成人 | caoporn国产| 亚洲成人av一区二区 | 特级a欧美做爰片毛片 | 欧洲精品在线观看 |