2016年10月26日 星期三

Arduino備忘

除了最基本的Arduino開發板之外,上面還可以外插多種教學板方便教學,很常看到的是motoduino 的s4a sensor board v2、透過wifi的是WFduino 、當然也是可以用Sensor Shield,這片板子腳位比較複雜,但是可以很方便的透過3p的杜邦接頭安裝上許多感應器。

Arduino簡易腳位介紹,請看

數位腳位前有~的有PWM功能,可以模擬類比輸出電壓

安裝Arduino直接上官網下載最新的軟體即可,軟體當中有附上驅動程式。
如果不是直接買官方版或山寨版,那多半是大陸產的一種CH340系列的晶片,驅動程式在這
懶惰分辨的話就是把兩個程式都裝起來,基本上就不太會有抓不到板子的問題。

抓好板子之後要到"我的電腦"->"裝置管理員"當中確認板子使用的通訊port,設定會用到。

--------------------------------------------------接下來是軟體操作----------------------------------------------
會寫C語言的可以直接用Arduino IDE寫程式就好了,不然可以用Scratch相容的程式進行撰寫。
和Scratch搭配或相容的軟體很多種,如mblock、s4a(最難用)、WFduino等,還有一種是宇宙機器人的Transformer,直接用mblock(但聽說有部分問題)或scratch2.0+Transformer是最簡單的。

連上去之後都要注意腳位的定義,不是每個軟體的腳位定義都能符合你手頭上的教學板的。
--------------------------------------------------------------------------------------------------------------------------

藍芽的使用方法

常見相關開發板的知識介紹-EduMakerLab創客教室


值得參考的網站:

台灣物聯科技 可以去買開發板和擴充的套件

S2A課前準備  針對s2a的連接與軟體準備有步驟化的說明

文盛老師的自造者天空

Jack整理的相關網站清單

2016年3月7日 星期一

MySQL備忘_again

http://www.w3school.com.cn/index.html

以下內容出自http://dywang.csie.cyut.edu.tw/dywang/ojs/node6.html

  1. 先設定 mysqld 服務的編碼
    [root@csie5 ~]# vim /etc/my.cnf 
    [mysqld]
    default-character-set=utf8
    default-collation=utf8_unicode_ci
    character-set-server=utf8
    collation-server=utf8_unicode_ci 
    
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
  2. 重新啟動 mysqld 服務
    [root@csie5 ~]# /etc/init.d/mysqld restart
    
  3. 登入 mysql 查詢 charset 變數,資料庫編碼為 character_set_database latin1
    [root@csie5 ~]# mysql -uroot -p
    Enter password: 
    
    mysql> use ijait;
    mysql> show variables like 'character_set%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | latin1                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    
  4. 使用 status; 或 \s 查詢也可以
    mysql> status;
    --------------
    mysql  Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1
    
    Connection id:  43
    Current database: 
    Current user:  root@localhost
    SSL:   Not in use
    Current pager:  stdout
    Using outfile:  ''
    Using delimiter: ;
    Server version:  5.1.69 Source distribution
    Protocol version: 10
    Connection:  Localhost via UNIX socket
    Server characterset: utf8
    Db     characterset: latin1
    Client characterset: utf8
    Conn.  characterset: utf8
    UNIX socket:  /var/lib/mysql/mysql.sock
    Uptime:   59 min 12 sec
    
    Threads: 1  Questions: 1112  Slow queries: 0  Opens: 645  Flush tables: 1  Open tables: 64  Queries per second avg: 0.313
    --------------
    
  5. 設定資料庫預設編碼為 utf8
    mysql> ALTER DATABASE ijait CHARACTER SET utf8 COLLATE utf8_general_ci;
    
  6. 使用 status; 或 \s 再查詢,資料庫編碼已改 utf8。
    mysql> status;
    --------------
    mysql  Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1
    
    Connection id:  43
    Current database: 
    Current user:  root@localhost
    SSL:   Not in use
    Current pager:  stdout
    Using outfile:  ''
    Using delimiter: ;
    Server version:  5.1.69 Source distribution
    Protocol version: 10
    Connection:  Localhost via UNIX socket
    Server characterset: utf8
    Db     characterset: utf8
    Client characterset: utf8
    Conn.  characterset: utf8
    UNIX socket:  /var/lib/mysql/mysql.sock
    Uptime:   59 min 12 sec
    
    Threads: 1  Questions: 1112  Slow queries: 0  Opens: 645  Flush tables: 1  Open tables: 64  Queries per second avg: 0.313
    --------------
    
  7. 雖然資料庫編碼已改為 utf8,但其中的資料表還是原先的 latin1 編碼,為一次轉碼,先以預設編碼 latin1 匯出資料庫,資料庫中的中文字串會以系統預設的 utf8 編碼呈現。
    [root@csie5 ~]# cd /var/lib/mysql/
    [root@csie5 mysql]# mysqldump --user=root --password=rootpw --default-character-set=latin1 --skip-set-charset ijait > ijait.sql
    
  8. 將資料庫中的 latin1 字串改成 utf8。
    [root@csie5 mysql]# sed -r 's/latin1/utf8/g' ijait.sql > ijait_utf.sql
    
  9. 再將 utf8 編碼的資料庫重新匯入。
    [root@csie5 mysql]# mysql --user=root --password=rootpw --default-character-set=utf8 ijait < ijait_utf.sql
    
  10. 資料庫雖已完全改成 utf8 編碼,OJS 網頁中中文顯示還是出現 '?????',故必須設定 OJS。

以下內容出自
http://tsuozoe.pixnet.net/blog/post/21283890-mysql-%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C%E8%AA%9E%E6%B3%95
net start mysql啟動 MySQL

查詢資料庫、資料表、欄位等資訊
mysqlshow [
-h ipAddress] -u user_name -pmysqlshow -u user_name@ipAddress -p
列出所有資料庫

mysqlshow -u user_name -p db_name列出該 database_name 所有資料表

mysqlshow -u user_name -p db_name table_name列出該 database_name 裡 table_name 資料表裡的欄位

mysqlshow -u user_name -p db_name table_name field_name
列出該 database_name 裡 table_name 的 field_name 的欄位資訊

更改密碼mysqladmin password 'new_password'更改目前系統登入使用者的密碼

於資料庫中導入執行sql script 檔
mysql db_name < sql_filename.sql
與 MySQL 連線
mysql [
-h ipAddress] -u user_name -ppasswordmysql [-h ipAddress] -u user_name -p

切換使用資料庫 database_name
mysql> USE db_name
mysql> SELECT DATABASE();列出目前預設的資料庫名稱

mysql> SHOW DATABASES;
列出所有資料庫

mysql> SHOW DATABASES LIKE 'my%';
列出所有資料庫名稱為 my 開頭的

mysql> SHOW TABLES FROM db_name [LIKE ...];
列出該資料庫所有資料表名稱

mysql> SHOW COLUMNS FROM table_name [LIKE ...];
mysql> SHOW COLUMNS FROM table_name FROM db_name  [LIKE ...];mysql> SHOW FIELDS FROM table_name [LIKE ...];
mysql> DESCRIBE table_name ;
mysql> EXPLAIN table_name ;
列出該資料表所有欄位名稱

mysql> SHOW INDEX FROM table_name [LIKE ...];
mysql> SHOW INDEX FROM table_name FROM db_name  [LIKE ...];mysql> SHOW KEY FROM table_name [LIKE ...];
列出該資料表所有索引資訊

mysql> SHOW TABLE STATUS;mysql> SHOW TABLE STATUS FROM db_name  [LIKE ...];列出資料表的相關資訊

mysql> SHOW VARIABLES [LIKE ...];
顯示 MySQL 相關參數設定

mysql> SHOW VARIABLES LIKE '%character%' ;顯示資料庫語系設定資訊

mysql> SHOW PROCESSLIST;
列出與 MySQL 連線的 threads 狀態

mysql> SHOW STATUS;
列出與 MySQL 目前的狀態

當進行資料表檢查或修補時,鎖定資料表可確保資料表的安全
(READ:唯讀狀態、WRITE:無法寫入也無法讀取)
mysql> LOCK TABLE table_name READ;mysql> FLUSH TABLES;
鎖定資料表 

mysql> UNLOCK TABLE;
資料表解除鎖定 

2015年3月4日 星期三

整理科教館2015年第54卷2期的程式學習內容及相關資源

1. 圖形化開發介面,Scratch及更平易的ScratchJr(行動載具用)、Cargo-bot、Blocky Games

2. Corona SDK,跨平台整合工具,學習App製作,結合Corona Cards可置入 HTML5及Unity 3D專案。其他類似的還有Game Salad、App Inventor、Construct 2

3. Python (簡潔、跨平台、物件導向、大量函式庫(易與C與C++函式庫結合)
官方手冊: https://docs.python.org/2/tutorial/
線上互動學習: http://www.codecademy.com/en/tracks/python
中文教學: http://www.codedata.com.tw/category/python
線上練習開發平台: http://www.codeskulptor.org/
搭配做資料圖型化處理的函式庫: Matplotlib
NumPy(多維度矩陣函式庫)、Scipy(科學用計算函式庫)
Django(網站開發函式庫)
OpenCV(電腦視覺函式庫)
建議可直接使用Rasberry pi開發。

4. 自造者風潮-Arduino
3D列印(RepRap開源平台)、多軸飛行器(飛行控制板APM Copter、MultiWiiCopter)
常見的Arduino開發板:Uno、Mega、Yun(包含網路能力及安裝完整的Linux)
結合的程式環境:Scratchbot、S4A

5. 製作作品時可採用創意奔馳法-SCAMPER方法
維基百科介紹如下:
----------------------------------------------------------------------------------------------------------------
奔馳法簡稱為「SCAMPER」,主要用於改善製程與改良事物。透過7個切入點(可任選策略):替換(substitute)、整合(combine)、調整(adapt)、修改(modify)、其他用途(put to other uses)、消除(eliminate)與重組(rearrange)有助於檢核是否具有調整現狀的新構想。
S = Substitute(替代) = 是否有取代原有功能或材質的新功能或新材質?
C = Combine(合併組合) = 哪些功能可以和原有功能整合?如何整合與使用?
A = Adapt(調適調整) = 原有材質、功能或外觀,是否有微調的空間?
M = Magnify/Modify(修改) = 原有材質、功能或外觀,是否有微調或更誇大的空間?
P = Put to other uses(其他用途) = 除了現有功能之外,能否有其他用途?
E = Eliminate(消除) = 哪些功能可刪除?哪些材質可減少?
R = Re-arrange(重排) = 順序能否重組?
奔馳法的5個步驟為:
Step1:製作5直欄、8橫列查核表格(列出七大項目一覽表)
Step2:為每一個切入點找出最適合的定義(檢視創意思考方向)
Step3:設計問題(針對準備的策略提出問題)
Step4:思考可能答案
Step5:評估可行方案,落實流程改善或產品改良(如果某一策略能提出越多問題,代表該策略對於主題越能產生創意或解決)
------------------------------------------------------------------------------------------------------------------------

2015年1月4日 星期日

iftop,文字介面的好用流量監控軟體~

這個配合iptraf差不多就可以不用特別安裝一些比較大例如mrtg之類的監控程式了.....
反正真的很糟糕的環境通常都是要當下處理,抓出人就可以給交代了,長期流量不太需要吧...


iftop安裝就是yum install iftop,沒啥好講....
執行指令就是iftop -i 網路卡代號

操作說明看這篇就可以了 http://portable.easylife.tw/2714

不想跳轉看操作說明,進到程式後按"H"就能看說明,都很直接了當。

2014年8月16日 星期六

突破wordpress 3.6 選單結構個數的限制!(採用預設佈景主題)

突破wordpress 3.6 選單結構個數的限制!(採用預設佈景主題)

緣起於筆者想把所有超連結都放入首頁的選單,結果很不幸的似乎達到上限無法繼續新增!

參考了http://wordpress.org/support/topic/menu-size-limit 的說明與解釋,很順利的解決問題了~

原來是因為php變數原始上限的關係,

因此我們在php.ini的檔案末尾加入底下這一句:

max_input_vars = 2000     (原本預設似乎是1000)

就突破這個限制了!讚啦~

keyword: wordpress選單結構 無法 不能 增加 儲存選單  

2014年8月6日 星期三

wordpress 3.6 安裝外掛及佈景主題免ftp的方法

wordpress 3.6 安裝外掛及佈景主題免ftp的方法

wordpress  透過ftp更新很麻煩?

在wp-config.php加入一句話即可:

define('FS_METHOD','direct');


接下來呢,就記得把wordpress目錄的擁有者改成http服務的帳戶就可以搞定上傳檔案權限的問題了,
例如apache是httpd服務的user,那麼就是到wordpress目錄的路徑下輸入:

chown -R apache wordpress

就這樣,搞定了...

差點被搞死的ip_conntrack

差點被搞死的ip_conntrack

簡單來說就是因為本校的網路架構比較討厭,先用硬體弄了四個Vlan然後才轉由這台NAT外送所有對外封包,所以在這行前面加了個註解,但是因為年代久遠想不起來,某天順手把#拿掉,就造成了內部網路部份通部份不通了....

# /sbin/modprobe ip_conntrack


另外,為了方便進內部管理,今天還順便加了一行
route  -p add 192.168.弄vlan的硬體.254 mask 255.25.255.255 NAT的對外網址

為了保險起見,記錄下來,同時使用文字描述代替馬賽克....


-------------------------------------------------------------------------------------------------------
關於ip_conntrack的內容可以參考