Cheap Boards
Boards
- Mikroe http://www.mikroe.com/
- Arduino http://www.arduino.cc/
3D Printer
http://techpp.com/2012/02/02/top-6-cheap-affordable-3d-printers/
http://wired.tw/2012/05/17/maker-movement/index.html
【Qt】QHttp
【目的】
- 透過 QHttp 呼叫 Google Translation API 。
【觀念】
- 網路上有兩個範例
- Qt4 Gossip: QHttp http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/QHttp.html
- Qt Network(1) http://wiki.oss.org.tw/index.php/Qt_Network(1)
- 但第一個範例如果需要抓取內含 Query String 的 Url 的話,會出現漏掉Query String 問題,以下為例
http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello&langpair=en|ru
用該程式送出,會發現回傳 400(responseStatus),猜測應該是結果有問題。{"responseData": null, "responseDetails": "invalid version", "responseStatus": 400}
用 WireShark 觀察,就可看出原來只送出GET /ajax/services/language/translate HTTP/1.1
問題看起來就是後面的 Query String 沒送出讓 Google Translation 弄迷糊了。
- 要解決這問題,請將 HttpGet.cpp 裡面原本的
http->get(url.path(), file);
改成http->get(url.toEncoded(), file);
- 如果只要抓網頁資料的話,也可嘗試QWebView。
【程式】
- 開一個 Qt GUI Application。
- 類別還是套用第一個範例的 HttpGet類別(HttpGet.cpp/HttpGet.h)。
- maic.cpp
#include <QtGui/QApplication> #include "dialog.h" #include <QUrl> #include "HttpGet.h" #include <iostream> #include <QDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); Dialog w; w.show(); HttpGet getter; QUrl url("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello&langpair=en|ru"); getter.downloadFile(QUrl(url)); QObject::connect(&getter, SIGNAL(finished()), &a, SLOT(quit())); return a.exec(); }
【結果】
- 打開檔案 translate 就可看到結果。responseStatus 為 200 代表成功。
{"responseData": {"translatedText":"привет"}, "responseDetails": null, "responseStatus": 200}
【問題】
- 如何改成透過使用者 click 一個 push button 來抓取資料,而不是直接放在 main.c 中。
- 在 Qt Demo | Networking | Http Client 嘗試跑一樣的 Query String。
由 WireShark 看起來封包傳送與接收都是成功的。
但打開 translate 這檔案,裡面卻是空的。此問題再找時間研究。(好像是 Vista 上的防毒軟檔Norton檔掉了存檔的動作,之前此範例在 Windows XP 上是成功的)
【其它】
- 此方法也可下載 Google 語音。請記得將下載完後的 translate_tts 改成 translate.mp3 即可。
但目前看起來英文是可行,其他如中文與俄文還需再研究。
【參考】
-
Qt-interest Archive, December 2006 QHttp - problem downloading file
http://lists.trolltech.com/qt-interest/2006-12/thread00553-0.html
[No-IP]
若需使用PPPOE撥接,需先設定好PPPOE,pppoe可利用 pppoeconf 設定。
#apt-get install pppoe |
No-IP
跑起Deamond來有問題,所以在 ip-up那邊加入設定。
cd /etc/init.d/ chmod +x noip2 update-rc.d noip2 defaults |
[PMWiki] Installion
安裝 Apache + Php
#apt-get install apache2 #apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi #/etc/init.d/apache2 restart |
下載Pmwiki並安裝
[SVN] Server Installion
Ref
- Debian Linux 架設 Subversion(SVN)
- SVN 基本指令教學
- 基本的工作周期
- 寄送 subversion repository 的更新通知(need subversion-tools/svnmailer)
- Subversion commit log 自動寄信通知
- cron backup
- Enable HTTP and HTTPS access for Subversion
- TortoiseSVN--製作Tag或是Release
Command
- svn log -vv http://localhost/svn/PROJECT_NAME
[Apple] Apple TV2
JB
- JB http://www.macuknow.com/node/16727
- XMBC http://www.macuknow.com/node/16728
- Web Server http://imho.nu/iMHo/hello-php-on-apple-tv-2/
Package
- mplayer
- subversion
- git
Toolchain
- gcc
# gcc -v
Using built-in specs.
Target: arm-apple-darwin9
Configured with: ../llvm-gcc-4.2/configure --build=x86_64-unknown-linux-gnu --host=arm-apple-darwin9 --enable-static=no --enable-shared=yes --prefix=/usr --localstatedir=/var/cache/iphone-gcc --enable-languages=c,c++,objc,obj-c++ --enable-wchar_t=no --with-gxx-include-dir=/usr/include/c++/4.0.0
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5555) - GCC on Iphone
- C/C++: Compiling on iOS
- Building c/c++ applications using GCC/G++ on iPhone
- Compile C Applications with gcc on ios 4 iphone
- iphone-gcc-full
- iphone-gcc
- tomcool420
Source
Utils
- iPhone Tunnel Suite
Test
- Debian Images http://cdimage.debian.org/debian-cd/6.0.5/i386/iso-dvd/
Advance
[DS211j] ipkg
安裝 SVN 需要用 root 登入, ipkg 在 /opt/bin 底下。
Step-by-step guide to installing Subversion
[SVN] Private SVN/Git hosting
需公開
- Google Code 提供許多非常完整的功能。
不須公開
目前比較好的組合是 Git + redmine,但支援的比較少,所以以 svn + Trac 為主。
Free Git Host
OpenSource
- Indefero clone to Google Code
自己架的話可考慮 Linode。
[DDWRT] Firmware
- Buffalo WHR-HP-G300N 802.11n
http://www.buffalo-china.com/drvmanual/download_details.php?type=1&id=26 - DDWRT only
ftp://ftp.dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/2012/03-19-12-r18777/
參考
[Pandaboard]
- Ubuntu Server
win32diskimager-binary
Precise Pangolin (12.04) Installation Instructions - Packages
sudo aptitude update
sudo aptitude install openssh-server
sudo apt-get install build-essential
sudo apt-get install svn iftop powertop
sudo apt-get install siege sipcalc wbox iperf iptraf
sudo aot-get install minicom - curl-load
wget curl-load
tar -jzvf curl-loader-0.56.tar.bz2 - Endpoint
wget endpoint
tar -xvf pelinux_arm_sl_710.tar
mv temp/ endoint
vi /etc/rc.local (add /root/endpoint/point &) - Minicom logging
Alt-R L - LSP(Lighttpd + PHP + Sqlite)
sudo aptitude install lighttpd
sudo apt-get install php5-cgi
sudo apt-get install php5-gd
sudo apt-get install sqlite
Lighttpd PHP fastcgi configuration - Adjust
cpu: echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Ref:
[DDWRT] STG SNMP Traffic Grapher
- br0
1.3.6.1.2.1.2.2.1.10.8 for br0 interface (intern LAN port) for download (green)
1.3.6.1.2.1.2.2.1.16.8 upload(blue))
[Perl] Telnet
Telnet to DS211j
#!/usr/bin/perl use Net::Telnet; |
[Debian] Build Kernel
原本Kernel不支援,需
make-kpkg clean fakeroot make-kpkg --append_to_version -15-686 --initrd --revision=2.6.32 kernel_image modules_image |
會碰到的問題
compile kernel error lguest.c:37:18: error: zlib.h: No such file or directory
創建 RAM MTD
MTD - Memory Technology Devices
測試 MTD