新聞中心

寵物狗智能項(xiàng)圈系統(tǒng)

作者:高文冠 王妍堃 王桂鴻 時(shí)間:2015-04-23 來源:電子產(chǎn)品世界 收藏
編者按:寵物狗的健康已經(jīng)受到了人們的高度關(guān)注,智能項(xiàng)圈系統(tǒng)旨在對(duì)狗進(jìn)行運(yùn)動(dòng)和飯量控制。

  7 設(shè)計(jì)難點(diǎn)原理解析

本文引用地址:http://m.butianyuan.cn/article/273064.htm

  (1)MSP430程序自升級(jí)

  一般將新程序燒寫到需要燒寫軟件或使用串口進(jìn)行燒錄。要實(shí)現(xiàn)遠(yuǎn)程升級(jí),需引入類似于操作系統(tǒng)中的bootloader。下面這段引導(dǎo)代碼需事先燒錄至中。

  void main()
  {
  WDTCTL = WDTPW + WDTHOLD; //關(guān)看門狗
  If(ResetVectorValid() == 1) //判斷是否已更新程序
  {
  Application();
  }
  Update();
  }

  其中Application()中存放用戶執(zhí)行程序,而Update()中進(jìn)行獲取程序,并將相關(guān)程序從內(nèi)存拷貝至flash進(jìn)行覆蓋。當(dāng)然,這里對(duì)燒錄進(jìn)的二進(jìn)制文件需要有一定程度的了解,才能將其拷貝至對(duì)應(yīng)位置。

  (2)網(wǎng)絡(luò)功能

  這部分需要對(duì)樹莓派與linux系統(tǒng)有一定程度的了解。在樹莓派中,利用python語(yǔ)言的靈活性及集成好的工具,可以輕易地實(shí)現(xiàn)很多網(wǎng)絡(luò)功能。結(jié)合我們的系統(tǒng)舉個(gè)小例子,從寵物端獲取數(shù)據(jù)后,將其存放至一個(gè)data.txt件中,并運(yùn)行以下python文件:

  import tornado.ioloop
  import tornado.web
  class MainHandler(tornado.web.RequestHandler):
  def get(self):
  with open("data.txt","r") as fd:
  self.write(fd.read())
  application = tornado.web.Application([
  (r"/", MainHandler),
  ])
  if __name__ == "__main__":
  application.listen(80)
  tornado.ioloop.IOLoop.instance().start()

  這部分可當(dāng)做模板使用,其中open函數(shù)的第一個(gè)參數(shù)可帶路徑。執(zhí)行后可通過訪問樹莓派的IP地址獲取到相關(guān)信息,此時(shí)訪問端需與樹莓派處于同一網(wǎng)段。執(zhí)行完上述python文件后,緊跟著執(zhí)行ngrok 80,即可以帶有.ngrok.com后綴的網(wǎng)址發(fā)布到互聯(lián)網(wǎng),從而可以快速實(shí)現(xiàn)遠(yuǎn)程訪問。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉