2017年8月20日 星期日

藍芽模組 HC-06 arduino 設定

HC-06 和 Arduino 的腳位對應如下:

HC-06 VCC → Arduino 5V
HC-06 GND → Arduino GND
HC-06 TXD → Arduino pin 10 (RXD)
HC-06 RXD → Arduino pin 11 (TXD)


----------------------------arduino code-------------------------------------

#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX
void setup()
{
  Serial.begin(9600);
  Serial.println("Enter AT commands:");
  BTSerial.begin(9600);  // HC-06 current bound rate (default 9600)
}
void loop()
{
  // Keep reading from HC-06 and send to Arduino Serial Monitor
  if (BTSerial.available())
    Serial.write(BTSerial.read());
  // Keep reading from Arduino Serial Monitor and send to HC-06
  if (Serial.available())
    BTSerial.write(Serial.read());

}


------------------------HC-06  AT command----------------------------------------

HC-06 只有簡單的 AT command,按完「AT」馬上回應「OK」。其它的指令要用大寫。

  • AT:測試,回應「OK」
  • AT+VERSION:回應靭體的版本。
  • AT+NAMExyz:將裝置名稱改為「xyz」。n                                  
  • AT+PIN1234:將連線密碼換為「1234」。
  • AT+BAUD4:將 baud rate 換為 9600。
  • AT+BAUD5:將 baud rate 換為 19200
  • AT+BAUD6:將 baud rate 換為 38400
  • AT+BAUD7:將 baud rate 換為 57600

2017年5月14日 星期日

自製舒肥機(低溫慢煮/低溫水煮/科技煮肉)紀錄

目標

土炮製作出舒肥機,利用Arduino+電湯匙控制水溫達成低溫水煮。

準備材料

電子材料
  • Arduino
  • Relay
  • 電湯匙
  • 防水型 DS18B20溫度感測器
食物材料
  • 夾鍊袋  or  耐熱袋
  • 食材:牛、雞、魚等
  • 調味料:鹽、粗粒黑胡椒

第一步 寫Code

先在網路上找到DS18B20的Arduino libraries(OneWire.h、DallasTemperature.h),程式碼如下

-----------------------------------------------程式碼開始------------------------------------------------------
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2  //pin 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
const int relay1 =  3; //pin 3

void setup(void)
{
  Serial.begin(9600);
  pinMode(relay1, OUTPUT);
  digitalWrite(relay1, HIGH); // LOW enable
  sensors.begin();
}

void loop(void)
{
  sensors.requestTemperatures();
  float TEMP1 = float(sensors.getTempCByIndex(0));

  if(TEMP1 > 65)                      digitalWrite(relay1, HIGH);
  else if (TEMP1 <= 60)            digitalWrite(relay1, LOW);
 
  Serial.println(TEMP1, 2);  //2 = 小數點第二位
  delay(1000);
}
-----------------------------------------------程式碼結束------------------------------------------------------

第二步 硬體
  • DS18B20使用提升電阻,將4.7k ohm 從Vcc接上data線。
  • Relay使用有光耦合IC控制Relay
  • 電湯匙使用110電壓、10A電流
硬體準備好後先進行實驗


如上圖先使用簡易的杯子進行加熱實驗


上圖另外用溫度計比較實際的溫度,實驗成功後可以開始煮食物。


上圖將環境設好後先用筆電監控arduino讀到的溫度


先將食材準備好如上圖,將牛排掉保鮮膜冰一個晚上去讓牛排乾,使用適量的鹽和黑胡椒輕柔牛排,放入夾鏈袋使用吸管將裡面的空氣抽走讓受熱平均。


等待水溫達到60度


溫度到達後將牛排放入等待一個小時,網路上建議牛排用55度煮45到60分鐘。



實際煮出來後發現牛排是全熟的,所以還是建議用55度煮45到60分鐘,但肉質與口感非常好,肉汁也完全保留了下來,建議用火槍將外表烤過後淋上肉汁更佳。



再來是用雞胸肉水煮,調味與煮方法一樣,煮出來的肉質與肉汁完美保留。



最後是蛤蜊湯,只是這道算是失敗,先前準備忘記先吐沙,溫度也不太夠大多蛤蜊未開,但蛤蜊汁非常純。


  • 成本約一千不到

  • 控溫方面不太好,需要攪拌才能讓水溫平均

下個目標
  • 增加ESP8266網頁化管理
  • 增加攪拌器讓水溫平均
  • 舒肥機一體化,方便外以防觸電


2017年2月4日 星期六

由於不支援指定的通訊協定,Windows Media Player 無法播放檔案

完整錯誤訊息為:
由於不支援指定的通訊協定,Windows Media Player 無法播放檔案,請在 [開啟 URL] 對話方塊中,嘗試使用不同的傳輸通訊協定 (例如 "http:" 或 "rtsp:") 來開啟檔案。


解決辦法:
WinXP user: 將C:\Documents and Settings\UserName\Local Settings\Application Data\Microsoft\Windows Media\11.0 刪除或更名
Win7 or Vista: 將C:\Users\Userame\AppData\Local\Microsoft\Windows Media\11.0 刪除或更名

目的在於資料夾內 Wmsdkns.xml 因權限不足或毀損造成無法讀取,刪除此檔案或資料夾後 Windows Media Player 會重新建立 Wmsdkns.xml 檔案


2016年7月7日 星期四

Windows上安裝非官方Python套件

Windows上安裝非官方Python套件

1.到非官方網站找python擴展包
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame

ex:如果我是要pygame套件,系統是64位元2.7版本python
下載 pygame-1.9.2a0-cp27-none-win_amd64.whl
開 cmd 再cd到下載的路徑上打上

C:/Python27/Scripts/pip install pygame-1.9.2a0-cp27-none-win_amd64.whl

開python的IDE用import載入測試

import pygame

如果沒出現錯誤代表成功


來源影片:https://www.youtube.com/watch?v=jnpC_Ib_lbc

2016年6月27日 星期一

架設Apache與Webpy網頁

前言:


如果要使用Linux系統架設網站的話,無非是使用Apache或是Lighthttpd,再搭配HTML或是Javascript來架設網站,但礙於本人只懂一些Python,所以使用Web.py寫網頁,Web.py的語法就是Python。

本篇將實現用Apache與Web.py架設網頁。


先前準備:

  1. Linux Debian環境
  2. 或樹梅派系統Raspbian(本人環境)
1.先進行資安與套件更新

$ sudo apt-get update;sudo apt-get upgrade


2.安裝Apache、WSGI與Web.py套件


$ sudo apt-get -y install apache2 libapache2-mod-wsgi python-webpy



3.分別在/var/www目錄底下建立webpy-app目錄,又在webpy-app目錄底下建立static


$ sudo mkdir -p /var/www/webpy-app/static



4.編輯網頁權限


sudo vim /etc/apache2/sites-available/default



5.在23行之後加入下列程式碼


    WSGIScriptAlias /main /var/www/webpy-app/main.py/
 
    Alias /main/static /var/www/webpy-app/static/
    AddType text/html .py

    <Directory /var/www/webpy-app/>
            Order deny,allow
            Allow from all
    </Directory>

6.在webpy-app目錄下新增main.py,並將下行程式碼寫入。

$ sudo vim /var/www/webpy-app/main.py

#=============================================
import web

urls = (
  '/','index',
  '/informacion','informacion',
  )

application=web.application(urls, globals()).wsgifunc()

class index:
  def GET(self):
    return "<html><body><h1>Pagina Principal</h1><br><a href='/main/informacion'>Pagina Auxiliar</a></body></html>"

class informacion:
  def GET(self):
    return "<html><body>Pagina Secundaria<br><a href='/main'>Principal</a></body></html>"

#if __name__ == '__main__':
#  app.run()
#=============================================

7.重啟Apache server

$ sudo service apache2 restart

8. 在瀏覽器網址輸入本機或localhost

範例1:http://localhost/main
範例2:http://192.168.1.1/main  

上述完成網站的架設,登入網頁即可查看網頁內容。