2018年1月2日 星期二

Mac os開發Linkit 7697、MySQL與MQTT的問題解決


這是個很奇怪的問題,還是寫一下當作記錄,在工作坊的時候都是以windows開發

因為firmwarewindows高度相依,所以開發firmwarewindows比較不會撞牆

由於手上的mac是使用boot campwindows,也發現一連串的操作後,windows開始愈來愈肥大,128G的SSD也快爆了

工作坊結束後,重新整理電腦,決定換回mac os開發

照著MTK的說明,在preference 輸入

http://download.labs.mediatek.com/package_mtk_linkit_7697_index.json



請參閱MTK網站上的說明


開始進入mac安裝7697的板子的時候,出現以下問題



居然 Error downloading!!! 這真的是非常奇特! 通常這會是網路出了問題

但換了2個網路都不行,只能重灌mac,結果正常

可以下載Linkit7697,但在download firmware時發現以下圖片的問題


因為我已經裝了CP2102N的silicon lab官方Driver,實在想不通哪裡出問題

後來看到java沒有安裝,然後找了jdk 8.x的版本

安裝後還是不會動,想想會不會是python要新版,結果安裝了3.x版還是沒用

後來想到在工作坊有朋友也出現了這個問題,是抓了某一個非官方下載的driver才可以驅動Linkit7697


先刪除silicon lab的driver,再安裝以上driver,Linkit7697再度出現,而且可以download firmware



然後選了一個LWiFi的'AccessPoint' Example燒進去後,又發現serial monitor無法print任何東西



看了網上的討論,再灌入FDTICH340driver,這兩個ESP8266、Arduino與USB to TTL都能用,就先安裝吧 ~ 記得要重開機



最後,總算可以在mac上正常開發Linkit7697,真是關關難過但關關不說啊!


(其實應該是安裝完下載的DMG檔重開機就可以了
當初應該是忘了做這一步才多安裝了兩個Driver)


工作坊有朋友的mac照著上面做也不能動,因為灌了最新的mac os,許多問題無法解決

只能用VMWare去跑Windows,或是用boot camp分割一個Windows出來開發了

或是像小弟一樣將舊的mac os安裝在SSD上,Windows安裝在USB3.0的128G隨身碟上,這樣兩種系統開發都很順利,Windows會稍稍慢一點...點

但記住在mac os要把mac的driver製作好,在Windows下裝,這樣Windows才有辨法正常使用


小弟手上mac系統是10.10.5,希望此文章未來可以幫助到mac開發Arduino IDE的高手們

再來是Simple Care的資料庫是以MySQL導入,如果你像我一樣直接將Githubcode clone,然後在Terminal輸入以下command

python /Users/Apple/Documents/GitHub/Simple-Care/pythonMQTT/python27/simple_care_py27.py 

會發現出現錯誤,首先是因為沒有安裝paho,所以要在Terminal輸入

sudo pip install paho-mqtt

然後再輸入一次

python /Users/Apple/Documents/GitHub/Simple-Care/pythonMQTT/python27/simple_care_py27.py 

又發現錯誤,這次應該是ImportError: No module named MySQLdb

意思是說MYSQL沒灌,這個就很麻煩啦,也許你會像我一樣直接在Terminal輸入以下command,結果失敗




其實需要先到這裡下載DMG檔安裝,過程中記得左下角要選擇自定



然後取消勾選最後一個



再來於Terminal輸入sudo pip install mysql-python

結果會跳出這個來(太恭喜啦! 離成功愈來愈近了!)


安裝完之後重新開機,應該就ok了,如果還不行,就再key一次

sudo easy_install mysql-python 與 sudo pip install mysql-python


如果還是不行,手動安裝吧!

首先,要安裝brew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
接下來

1、先brew install mysql-connector-c 

2、下載https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip#md5=654f75b302db6ed8dc5a898c625e030c

3、cd MySQL-python-1.2.5 修改site.cfg
#mysql_config = /usr/local/bin/mysql_config 改成 mysql_config = /usr/local/mysql/bin/mysql_config

4、python ./setup.py build 與 sudo python ./setup.py install

5、安裝XAMPP

簡單測試一下我們Github的MySQL與python相連

import MySQLdb

db = MySQLdb.connect(host="localhost",
    user="root", passwd="", db="simple_care")
cursor = db.cursor()

cursor.execute("SELECT * FROM log_peripheralwithcentral")

results = cursor.fetchall()

for record in results:
  col1 = record[0]
  col2 = record[1]
  print "%s, %s" % (col1, col2)

db.close()

存成test.py,在Terminal輸入 python test.py

過程中如果碰到libmysqlclient.18.dylib找不到,在Finder找找看在哪裡

例如我是在XAMPP中找到的,就在Terminal輸入

sudo ln -s /Applications/XAMPP/xamppfiles/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

再次輸入python test.py,應該就可以取出資料庫的值了

接下來brew install mosquitto,發現我的Mac版本只有10.10.5,它居然說brew和apple不支援



只能說我認了,os升級到最新版再brew install mosquitto一次

完成後輸入python simple_care_py27.py,出現[Errno 61] Connection refused

a、重開機按下command+r,在Terminal輸入csrutil disable


b、開機後在Terminal下輸入brew services start mosquitto

Mac開發Firmware、MySQL與MQTT實在太厚工了!

But! 如鄉民所說! Mac只拿來打報告,能代表一切!!!


或許又碰到坑的時候,是真的要考慮用舊版或裝個VMWare用Windows開發,是時候找時間玩Mbed了!

沒有留言:

張貼留言

FB設定搶先看的方式

設定搶先看的兩種方式 A1. 先到我家的日常粉絲團按下 …( 紅框處 ) A2. 按下追蹤中 ( 紅框處 ) A3. 按下搶先看 ( 紅框處 ) A4. 完成!!! 另一種方式 ...