跳到主要內容

這個網誌中的熱門文章

使用藍牙BLE 讓iphone android 連接樹莓派3 raspberry pi 3

Raspberry PI 3 終於內建藍牙與網路晶片
這個晶片有點強大,可以同時讓Wifi 與 BLE 和 SPP (RF Com) 同時繁忙通訊都沒有問題。
Raspberry PI 如果是當成藍牙Client 連結身邊的BLE裝置,例如ibeancon、智慧手環、智慧手錶,那只要使用簡單hcitool搭配hciconfig 指令就可以達到將資料要回來,在網路關鍵字一下就可以找到如何使用hcitool 連線並要得資料。
     手機要與Raspberry PI連線的方法可以透過,wifi 或是藍牙,但是操作上使用藍牙比較直覺與簡易。但是要讓手機連線Raspberry PI,Raspberry PI上就需要將藍牙裝置當成Server,這件事情就需要一些程式碼上的撰寫。
    現在的文件說到關於如何將Raspberry PI藍牙裝置當成Server的文章並不太多,開發上總感覺困難重重,我也是在這裡停滯了好多天,不斷的搜尋解決方法,因為通起來了,資料來自網路所以也回饋給網路,讓下一個使用者減少這類問題的負擔。 不過目前這個方法未來開發資源越來越齊備可能不敷使用,但至少現在是可用的備案。
    網路上搜尋之後,整體套件如下
藍牙硬體<== BlueZ <== Nodejs(Bleno) <== Node Ble <== Node Socket  <==你的程式

我們發現藍牙要動起來通常會倚賴BlueZ的套件,好在的是最新的版作業系統已經將BlueZ提升到5.23,支援BLE了。 所以安裝BlueZ套件這件事情就可以省略。
       接著安裝Node環境 ,
http://blog.itist.tw/2016/04/using-raspberry-pi-3-to-build-eddystone-beacons-with-raspbian-jessie.html
於這篇網址提到安裝Node的快速方法,如果隨著時間推移太舊或是失效,在搜尋一下如何安裝Node即可解決。
題外話:Linux上開發要有所體悟,所有的架構都是在變動的,隨著版本的變動舊的API可能就會改變或是失效,期待不變與或是統一開發方式都是不太切合實際的想法,畢竟這不是linux的核心價值也不是在這一塊領域玩樂的人的想法,但多數的答案都可以在GOOGLE一下就可以順利解決(苦笑)。

小四軸飛行器:驅動馬達

等待陀螺儀的這段時間馬達先來了,所以我們開始測試馬達驅動系統飛行器的馬達是透過Arduino發出PWM訊號,傳送給驅動器(小型為MOS FET,大型為電調)控制馬達的轉速,達到控制飛行器。為了測試我們的驅動電路,我們先寫一個簡單的PWM控制,讓PWM輸出值越來越大,到大極限的時候,又慢慢地變小,如果我們的驅動電路可以正常運作時我們應該可以聽到馬達的聲音漸漸地變大,然後漸漸地變小。
測試馬達之前我們先學習Arduino的PWM,學習的過程當中我參考了下面的網站
http://coopermaa2nd.blogspot.tw/2011/07/6-pwm.html http://coopermaa2nd.blogspot.tw/2011/07/61-pwm-modes-part1.html 感謝Cooper Maa。



一開始我們先使用一個LED正腳接再PWM Nano的D3,然後負腳接到GND,接著寫讓PWM變大變小的程式 然後又找到如下網站 葉難:Arduino練習:呼吸燈 http://yehnan.blogspot.tw/2012/02/arduino_16.html
使用網站上的程式碼,我們可以看到燈慢慢亮起來,又慢慢的暗下去, 如果看到這樣的結果代表我們的PWM範例程是可以動作。

當呼吸燈完成了,代表我們的程式碼是沒有問題的(如果有問題就是電路的問題),接下來只要把LED腳換成馬達控制腳,就可以測試我們的驅動。
查詢了一下SI2302,由下表可以知道為什麼選用這個IC ,這張表是在某個賣場抓到的 http://taiwan.tmall.com/item/20689248199.htm?

RTX2080ti Linux ubuntu 18.04 驅動程式與CUDA安裝紀錄 Nvidia Docker 安裝

因為很雷所以做個紀錄
一開始確認顯示卡的驅動,在設定裡我們可以看到  繪圖:llvmpipe (LLVM 6.0, 256 bits) 代表現在沒有驅動
先到Nvidia官網下載驅動程式 


如果已經安裝失敗的可以用如下指令先移除
nvidia-uninstall
接著開始安裝下載的驅動程式
sudo chmod +x NVIDIA-Linux-x86_64-410.93.run sudo ./NVIDIA-Linux-x86_64-410.93.run看到如下畫面



這裡就是最雷的地方了,如果驅動程式出現如下畫面 The target kernel has CONFIG_MODULE_SIG set, which means that it supports cryptographic signatures on kernel modules. On some systems, the kernel may refuse to load modules without a valid signature from a trusted key. This system also has UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is enabled. Would you like to sign the NVIDIA kernel module?
這代表BIOS 有啟動 安全啟動,這將會導致安裝失敗,必須按照如下步驟然後 關閉安全開機才能成功關閉安全開機才能成功關閉安全開機才能成功