<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 物聯(lián)網(wǎng)與傳感器 > 設(shè)計應用 > 寵物狗智能項圈系統(tǒng)

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

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

            7 設(shè)計難點原理解析

          本文引用地址:http://www.ex-cimer.com/article/273064.htm

            (1)MSP430程序自升級

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

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

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

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

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

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


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 寵物狗 云存儲 APP NFC 單片機

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();