2017年8月14日 星期一

Arduino smart home ac remote

想要玩arduino很久了,總算有時間來試一下。參考了網路上的資訊,從完全沒摸過到寫程式燒錄到arduino,還有網頁http request的研究,總算最後是完成了。花了三天的時間,很有成就感也很累,在炎炎夏日還蠻實用的。

幾個過程中的重點:

arduino:

  • 匯入程式庫後compile才成功,不能自己用貼上.h的方式
  • Could not connect to YunServer 146 Connection refused的問題在我去除while (!Serial);後有顯著的改善
  • 目前紅外線LED的遙控距離還是太短,考慮增加電阻
  • 使用readuntil到?時會中斷(應該是timeout),所以目前是拿掉,之後再看有沒有辦法解決
  • 網頁資料是使用serial,我改用rest的方式,所以在資料取得方式上有些不同


web:


  • header必須要用Status: 200而非HTTP/1.1 200 OK,後者會導致content type無法變成text/html
  • arduino rest api protection要關閉,是為了讓網頁執行時不會hit到CORS(cross-origin resource sharing)的問題。狀況是這樣,因為使用了authrization所以會變成非簡單要求,發出OPTION request後因為我們建置的並非正式webserver所以response為空沒辦法加入header(arduino寫的程式必須要先能夠碰到REST)因此被擋(無法回傳access-allow-origin: *),使用datatype: jasonp並沒有辦法解決問題。沒使用authrization前是401,使用後是400。



參考資料
自己
smart home ac
http://cc.beingo.net/archives/2234
https://m.mobile01.com/topicdetail.php?f=731&t=4135366&p=1
http://cms.35g.tw/coding/arduino-remote-daikin-3/
http://cms.35g.tw/coding/arduino-remote-daikin-2/
http://cms.35g.tw/coding/arduino-remote-daikin/

arduino yun
https://forum.arduino.cc/index.php?topic=191895.0
https://forum.arduino.cc/index.php?topic=227213.0
http://yehnan.blogspot.tw/2014/04/arduino-yunbridgeconsoleprocess.html
https://www.arduino.cc/en/Tutorial/Bridge
https://arduino.stackexchange.com/questions/10257/sending-values-to-an-arduino-yun-across-different-networks
http://yehnan.blogspot.tw/2014/04/arduino-yunbridgeyunserveryunclient.html
http://yehnan.blogspot.tw/2013/01/arduinods18b20.html
http://yehnan.blogspot.tw/2013/05/arduino.html
http://yehnan.blogspot.tw/2016/04/arduino-yunwi-fi.html
https://forum.arduino.cc/index.php?topic=192936.0

CORS
http://www.ruanyifeng.com/blog/2016/04/cors.html
https://blog.m157q.tw/posts/2016/09/07/cross-origin-resource-sharing/
https://developer.mozilla.org/zh-TW/docs/Web/HTTP/Access_control_CORS

ajax
http://blog.techbridge.cc/2017/05/20/api-ajax-cors-and-jsonp/
https://babaawesam.com/2014/11/06/control-input-output-of-arduino-yun-with-ajax/
http://www.cnblogs.com/Mainz/p/3506956.html
http://shiyousan.com/post/635433082130309661

phpmyadmin create sql
http://www.complete-concrete-concise.com/web-tools/creating-a-mysql-database-using-ampps

HTML
http://www.w3school.com.cn/tags/tag_doctype.asp

字元與字串
http://dhcp.tcgs.tc.edu.tw/c/p009.htm

Basic Auth
https://stackoverflow.com/questions/5507234/how-to-use-basic-auth-with-jquery-and-ajax
https://stackoverflow.com/questions/3571090/basic-authentication-with-jquery-ajax-request-and-jsonp
https://stackoverflow.com/questions/27904082/using-http-basic-authentication-with-ajax-call

php windows工作排程
http://mrbignose.blogspot.tw/2010/05/php-windows-php.html

2017年4月13日 星期四

pfsense pppoe 失效問題

最近伺服器只要重開PPPOE就會撥接不上,本來還以為是switch topology有誤,後來總算是發現原來是wan interface沒有正確assign到em0,重新assign後問題解決。

參考資料:
自己

2016年12月21日 星期三

virtualbox guest windows OS network issue

遇到一個問題是guest OS windows會不定期網路沒有網際網路,後來發現host有裝vmplayer,將vmware network adapter停用後目前問題解除,待觀察

經過一陣子觀察之後沒有再出現異常,應該是這個問題沒錯,有遇到相同問題的人可以一試

20170201更新
還是有問題發生,暫停guest os再取消暫停之後可以回復網路狀態

參考資料
自己

2016年4月19日 星期二

Windows 10 磁碟空間 storage space經驗分享

最近想組raid保護資料,研究了一下發現硬體raid可能有風險,如果controller壞掉的話必須要找到相同晶片資料才可以救援,而且同樣容量的硬碟外接硬碟比裸碟便宜不少。所以後來看了資料後決定使用windows自身的軟體raid機制。

先是發現windows7不支援外接硬碟布建軟體raid,本來看到有人說可以更改分割表的bit把硬碟顯示為fix,後來看了一下發現是發文者弄錯了。後來看到windows8以上可以使用新功能-磁碟空間(storage space)可以使用外接硬碟,就決定將系統升級到windows10。

本來想要架raid5,買了兩顆3TB的硬碟加上原有的一顆三組,後來接上去之後發現windows磁碟空間的架構與硬體不同,不需用到整顆硬碟容量做設定可以切割。於是先分割小空間做測試,傳輸檔案時發現速度非常慢,usb 3.0速度僅有10MB/s,實在是不可思議,本來想說沒救了,後來看到有人分享加速的方法,原來是windows考量到power failure的可能將寫入快取取消限制效能。

開啟加速方法如下:

  1. 使用系統管理員權限開啟powershell
  2. 輸入Get-StoragePool,找到FriendlyName
  3. 輸入Set-StoragePool -FriendlyName <Storage Pool Name> -IsPowerProtected $True
開啟加速之後速度可以達到50MB/s,不過還是達不到usb 3.0的速度,後來查了資料知道同位(raid5)寫入速度比較慢,最後改成mirror(raid1)後問題解決。

最後是virtualbox在升級到windows10後發生網卡找不到問題,同樣搜尋後找到必須解除安裝後重新安裝virtualbox問題解決。

參考資料
storage space加速
https://social.technet.microsoft.com/Forums/windowsserver/en-US/64aff15f-2e34-40c6-a873-2e0da5a355d2/parity-storage-space-so-slow-that-its-unusable?forum=winserver8gen
同位(raid5)寫入速度慢
http://blogs.technet.com/b/mspfe/archive/2013/02/25/why-windows-server-2012-parity-storage-spaces-might-perform-slowly.aspx
virtualbox找不到網卡問題
http://ftcforum.usfirst.org/showthread.php?4898-Error-relaunching-the-VirtualBox

2016年3月1日 星期二

gmail inbox chrome這個網頁無法使用問題

幾天前開始遇到這個問題,一開始懷疑是router出問題,也查了DNS。後來注意到同一台電腦IE可以但chrome不行,於是開始清cookie,但還是不行。花了不少時間最後發現error是ERR_QUIC_PROTOCOL_ERROR,參考網頁到chrome://flags/#enable-quic將實驗性 QUIC 通訊協定。停用後問題解決,看來是chrome實驗性的東西出問題,供大家參考。

參考資料
http://stackoverflow.com/questions/28195610/why-is-this-error-appearing-in-chrome-load-resource-neterr-quic-protocol-erro

windows command prompt 命令提示字元突然無法顯示中文

今天命令提示字元突然無法顯示中文,處理了整個下午找解法,後來自己找到方法是先在控制台-地區-系統管理-非unicode程式的語言改成中文(簡體, 中國)然後重新啟動後再改回中文(繁體, 台灣)才成功解決。

明明一開始就是中文(繁體, 台灣)的呀...不禁讓人想到是不是又是中國搞的鬼....orz

參考資料
自己

2015年12月2日 星期三

iptables

iptables 需要將ppp設為MASQUERADE偽裝IP才有辦法連到internet,但是這樣做會造成inner ip顯示全部變為gateway ip。修正方法為改用SNAT加指定EXTIP,但是就變成要有固定IP才可以使用。

出現錯誤訊息

Options error: server and client cannot be used together

代表conf檔案內有用到不是server指令的指令

iptables restart in ubuntu

sudo service ufw stop
sudo service ufw start

刪除單一chain下的規則
iptables -t nat -D POSTROUTING <number>

enable forwarding in ubuntu
echo 1 >/proc/sys/net/ipv4/ip_forward

如果要兩個網路能夠成功的達成路由﹐對方網路也必須有相應的路由設定指向本地網路才行

pfsense 內 openvpn檔案存放位置/var/etc/openvpn

traceroute
mac: traceroute
dos: tracert
linux: tracepath

terminate openvpn
sudo killall openvpn
參考資料
http://acman.bluenest.net/wordpress/archives/118
http://askubuntu.com/questions/298419/how-to-disconnect-from-openvpn
iptables
http://serverfault.com/questions/431593/iptables-forwarding-between-two-interface
http://askubuntu.com/questions/161551/how-to-start-stop-iptables
http://stackoverflow.com/questions/8239047/iptables-how-to-delete-postrouting-rule
http://s2.naes.tn.edu.tw/~kv/iptables.htm
https://gigenchang.wordpress.com/2014/04/19/10%E5%88%86%E9%90%98%E5%AD%B8%E6%9C%83iptables/
http://www.pcnet.idv.tw/pcnet/network/network_ip_routing.htm
pfsense存放位置
https://forum.pfsense.org/index.php?topic=13123.0
openvpn with two interface in and out
https://forums.openvpn.net/topic11033.html
https://forums.openvpn.net/topic14072.html
http://ubuntuforums.org/showthread.php?t=1606136
route
http://yinung2.blogspot.tw/2013/05/route_17.html
bridge vs routing
https://community.openvpn.net/openvpn/wiki/BridgingAndRouting
https://openvpn.net/index.php/open-source/documentation/miscellaneous/76-ethernet-bridging.html
chain using openvpn
http://serverfault.com/questions/512160/vpn-chaining-using-openvpn
dns server on openvpn
http://superuser.com/questions/637579/setting-dns-servers-using-openvpn-client-config-file
show route on mac
http://stackoverflow.com/questions/6782658/how-to-get-default-gateway-in-mac-osx
自己