2015年12月30日

心跳偵測器

曾經想過用麥克風來收心跳,但雜音太多,沒有成功。看到有人賣手指心跳偵測器,買一個來試試。
它的原理是利用紅外線反射原理, 感測手指脈搏次數,試了很久,因為到底是用類比還是數位針腳呢?在scratch2下,個人測試要用類比來做會比較好。
個人的scratch積木:
sb2檔案

2015年12月21日

dns壓力測試

參考文章:http://note.tc.edu.tw/837.html
確定nds版本

named -v
wget https://ftp.isc.org/isc/bind9/9.10.3/bind-9.10.3.tar.gz
tar zxvf bind-9.10.3.tar.gz
cd bind-9.10.3/contrib/queryperf/
sh configure
make

複製執行檔到/usr/sbin
cp queryperf /usr/sbin/

如果和我使用的是edu2015的版本可以直接下載我編譯好的檔案來使用。
 下載後記得做
chmod +x queryperf
cp queryperf /usr/sbin/

執行方式
先建立查詢txt檔,建議至少100行可以是MX A ...
例如:
 www.turku.fi A
  www.helsinki.fi A


執行指令:
queryperf -d input_file -s server



結果:
Queries per second:   1137.599665 qps
代表每秒可以執行多少查詢




群輝異地備援

今天又看到宣導勒索病毒防治。上次分享群輝nas異地備援,不少人有興趣,所以記錄一下,或許有人需要。
1.要有兩台群輝nas
2.在備份目的開好分享資料夾(這個大家應該沒問題)
3.安裝備份套件(這個也不會有問題)
4.在備份目的的nas做以下動作:開啟服務


 5.在備分來源端開啟back time套件,新增一個任務。









2015年12月16日

tone音樂

在arduino上使用揚聲器發音,如果用pwm只能發單一頻率聲音,試著在arduino ide下做,是正常的。記錄一下。參考文章:
http://yehnan.blogspot.tw/2012/02/arduinoloudspeaker.html

首先定義音階
#define NOTE_    0
#define NOTE_B0  31
#define NOTE_C1  33
#define NOTE_CS1 35
#define NOTE_D1  37
#define NOTE_DS1 39
#define NOTE_E1  41
#define NOTE_F1  44
#define NOTE_FS1 46
#define NOTE_G1  49
#define NOTE_GS1 52
#define NOTE_A1  55
#define NOTE_AS1 58
#define NOTE_B1  62
#define NOTE_C2  65
#define NOTE_CS2 69
#define NOTE_D2  73
#define NOTE_DS2 78
#define NOTE_E2  82
#define NOTE_F2  87
#define NOTE_FS2 93
#define NOTE_G2  98
#define NOTE_GS2 104
#define NOTE_A2  110
#define NOTE_AS2 117
#define NOTE_B2  123
#define NOTE_C3  131
#define NOTE_CS3 139
#define NOTE_D3  147
#define NOTE_DS3 156
#define NOTE_E3  165
#define NOTE_F3  175
#define NOTE_FS3 185
#define NOTE_G3  196
#define NOTE_GS3 208
#define NOTE_A3  220
#define NOTE_AS3 233
#define NOTE_B3  247
#define NOTE_C4  262
#define NOTE_CS4 277
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 554
#define NOTE_D5  587
#define NOTE_DS5 622
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_FS5 740
#define NOTE_G5  784
#define NOTE_GS5 831
#define NOTE_A5  880
#define NOTE_AS5 932
#define NOTE_B5  988
#define NOTE_C6  1047
#define NOTE_CS6 1109
#define NOTE_D6  1175
#define NOTE_DS6 1245
#define NOTE_E6  1319
#define NOTE_F6  1397
#define NOTE_FS6 1480
#define NOTE_G6  1568
#define NOTE_GS6 1661
#define NOTE_A6  1760
#define NOTE_AS6 1865
#define NOTE_B6  1976
#define NOTE_C7  2093
#define NOTE_CS7 2217
#define NOTE_D7  2349
#define NOTE_DS7 2489
#define NOTE_E7  2637
#define NOTE_F7  2794
#define NOTE_FS7 2960
#define NOTE_G7  3136
#define NOTE_GS7 3322
#define NOTE_A7  3520
#define NOTE_AS7 3729
#define NOTE_B7  3951
#define NOTE_C8  4186
#define NOTE_CS8 4435
#define NOTE_D8  4699
#define NOTE_DS8 4978
//音調

int melody[] = {
  NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
};
//長度愈小音愈長
int noteDurations[] = {
  4, 8, 8, 4, 4, 4, 4, 4
};
//播放function
void play(int *melody, int *noteDurations, int num){
  for(int note = 0; note < num; note++){
    int noteDuration = 3000 / noteDurations[note];
    tone(8, melody[note], noteDuration);

    delay(noteDuration * 1.30);
  }
}

//執行主程式
void setup(){
}

void loop(){
  play(melody, noteDurations, sizeof(melody) / sizeof(int));
 
  delay(2000);
}

如果要修改則可以修改
int melody[] = {
  NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
};

和 
int noteDurations[] = {
  4, 8, 8, 4, 4, 4, 4, 4
};

2015年12月13日

壓力偵測FSR402心得

近日使用壓力偵測感應器,記錄一下。
它是一個電阻式的設備,在不同作用力進入時它的電阻值會改變。
重要的是雖然它只有2個接線,接入arduino時記得要放一個10K的電阻在5V和data腳位中,不然值會亂跳。
它可偵測範圍100克至10公斤
值0-1023

進一步資料可以參考:http://thats-worth.blogspot.tw/2014/07/fsr-force-sensing-resistor.html

其他是maker部分,如何歸零,如何讓殘存壓力除去....細部問題。需要去細細處理。

使用壓力計啟動繼電器範例:
http://opensource.ntpc.edu.tw/moodle/pluginfile.php/45095/mod_folder/content/0/%E5%A3%93%E5%8A%9B%E8%81%96%E8%AA%9501.abp?forcedownload=1

2015年12月7日

抹除硬碟資料

行政電腦下架,大家需要抹除硬碟資料工具,查了一下,linux也有好用的工具可以抹除資料
1.dd用法dd if=/dev/zero of=dev/sdx
這個方法還有一還是有被專業人士還原的風險。

2.shred用法sudo shred -vfz -n 10 /dev/sdX
# -v 顯示進度。  # -f 強制寫入,必要時允許變更權限寫入。 
# -z 用零覆寫並撕碎。
  # -n 指定覆寫次數。

我把指令加入clonezilla live裡這樣就不用拆硬碟了。一樣放在ftp裡
修改的clonezilla live zip檔
ftp://163.20.108.1/images/clonezilla-L4630G-ntpc-works-auto-recover.zip
參考網址:
http://ithelp.ithome.com.tw/question/10138612

2015年12月4日

便條工具

在ubuntu下的便條工具,或許有人用得到。
安裝
sudo apt-get install knotes
也可以在dush中輸入關鍵字"便",把knotes裝起來
 安裝完成後程式在附屬應用程式中。
執行後會常駐在右上角。
可以新增便條,在標題上按右鍵有快顯功能表可使用。

2015年12月2日

行政電腦USB隨身碟自動還原

使用clonezilla live技術,感謝國家高速網路中心開發好工具。

1.準備一只1GB以上的隨身碟
2.下載zip
3.把隨身碟格式化成FAT32
4.解壓縮zip檔到隨身碟

5.建立開機程式
    (1)edu2015:使用檔案總管進入隨身碟的/utils/linux資料夾,按下滑鼠右鍵/開啟終端機

sudo -s
bash makeboot.sh /dev/sdb1



說明:/dev/sdb1是設備名稱,請先確認。
   (2)windows:使用檔案總管進入隨身碟的/utils/win32或是win64資料夾(依電腦作業系統選擇),找到makeboot.bat,按下滑鼠右鍵/以系統管理員身份執行。
過程中按按幾次y。

這樣這支隨身碟在新北市網段內(網路要通),使用它開機,可以選擇要還原C碟或是還原全部硬碟。還原時要按兩次Y做確認。

如果要還原廠商給的最原始的版本,請修改syslinux資料夾下的syslinux.cfg和isolinux.cfg中,找到L4630G-ntpc-works01-img改為L4630G-ntpc-works-img,這個是廠商給的最原始版本。

2015年12月1日

水溫感測器arduino

它要用兩個函數需下載到/usr/share/arduino/libraries/
OneWire.h的下載點:
http://playground.arduino.cc/Learning/OneWire
http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip

DallasTemperature.h的下載點
https://github.com/milesburton/Arduino-Temperature-Control-Library

下載後解壓縮至 /usr/share/arduino/libraries 資料夾中
我修改
http://www.motoduino.com/products-english/?layout=edit&id=53
網站做法,使用數位腳位3,加上了如果溫度高於28度,會作動作(蜂鳴器響),每隔1秒偵測一次
開啟arduino ide
貼上下列內容

#include <OneWire.h>
#include <DallasTemperature.h>
 // Data wire is plugged into port 2 on the Arduino

#define ONE_WIRE_BUS 3

 // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)

OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.

DallasTemperature sensors(&oneWire);

void setup(void)

{
   // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");
  pinMode( 11 , OUTPUT);
  // Start up the library
  sensors.begin();
}

void loop(void)

{
  // call sensors.requestTemperatures() to issue a global temperature
  // request to all devices on the bus
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures(); // Send the command to get temperatures
  Serial.println("DONE");

  Serial.print("Temperature for the device 1 (index 0) is: ");
  Serial.println(sensors.getTempCByIndex(0));

   if (( ( (sensors.getTempCByIndex(0)) ) > ( 28 ) )) 
 {    //digitalWrite( 11 , HIGH );      

 tone(9, 250);

 }else{       

noTone(9) ;//    digitalWrite( 11 , LOW ); 

 }
  delay(1000);
}

2015年11月21日

dns server

安裝
sudo apt-get install bind9 bind9-doc 

開機時啟動
sudo chkconfig named on     

主要設定檔案
    /etc/bind/named.conf.option
    /etc/bind/named.conf
    /etc/bind/named.conf.local

vim /etc/bind/named.conf.local
加入
正解區

zone "xxxx.ntpc.edu.tw" in {
    type master;
    file "/etc/bind/db.xxxx.ntpc.edu.tw";
};

反解區:

zone "xx.20.163.in-addr.arpa" in {
    type master;
    file "/etc/bind/db.xx.20.163";
};

ipv6反解區(2001:288:2201::611):
zone "1.1.6.1.0.2.2.8.8.2.1.0.0.2.ip6.arpa" {
     type master;
     file "/etc/bind/20012882201611.rev";
};



公文管理
zone "tpc.gov.tw" in {
        type forward;
        forwarders {
                203.72.153.153;
                203.73.153.154;
                172.18.1.1;
                203.72.103.5;
        };
};

zone "ntpc.gov.tw" in {
        type forward;
        forwarders {
                203.72.153.153;
                203.73.153.154;
                172.18.1.1;
                203.72.103.5;
        };
};

如果有安全性需求可以限制查詢網段(勿照抄!)
allow-recursion { 127.0.0.1/32; 163.20.0.0/16;2001:288:2200::/39; };
在這裡可以查到學校的ipv6網段
http://enctc.ntpc.edu.tw/files/11-1000-158.php

 範例如下
zone "ntpc.gov.tw" in {
        type forward;
        forwarders {
                203.72.153.153;
                203.73.153.154;
                172.18.1.1;
                203.72.103.5;
        };
        allow-recursion { 127.0.0.1/32; 163.20.0.0/16;2001:288:2200::/39; };
};


我們加入了正反解區,就要有相關檔案,
vim /etc/bind/db.xxxx.ntpc.edu.tw
$TTL    604800
@       IN SOA  ns.xxxx.ntpc.edu.tw. admin.xxxx.ntpc.edu.tw. (
                2013080901      ; Serial Number
                604800          ; Refresh
                86400           ; Retry
                2419200         ; Expire
                604800 )        ; Minimum

@       IN NS   ns.xxxx.ntpc.edu.tw.
@       IN A    163.20.xx.1

ns      IN A    163.20.xx.1
www     IN A    163.20.xx.3
ftp   IN A    163.20.xx.5
ns      IN     AAAA      2001:288:2263:1

vim /etc/bind/db.xx.20.163

$TTL    604800
@       IN SOA  ns.xxxx.ntpc.edu.tw. admin.xxxx.ntpc.edu.tw. (
                20070926        ; Serial Number
                604800          ; Refresh
                86400           ; Retry
                2419200         ; Expire
                86400 )         ; Minimum

@       IN NS   dns.xxxx.ntpc.edu.tw.

1      IN PTR  dns.xxxx.ntpc.edu.tw.
3      IN PTR  www.xxxx.ntpc.edu.tw.
5      IN PTR  ftps.xxxx.ncku.edu.tw.

vim /etc/bind/20012882201611.rev

$ORIGIN 1.1.6.1.0.2.2.8.8.2.1.0.0.2.ip6.arpa.
@ IN SOA ns.xxxx.ntpc.edu.tw. admin.ns.xxxx.ntpc.edu.tw. (
                        20070926        ; Serial Number
                604800          ; Refresh
                86400           ; Retry
                2419200         ; Expire
                86400 )         ; Minimum
)

@                    IN    NS     ns.xxxx.ntpc.edu.tw.
1.1.1.6.1.0.2.2.8.8.2.1.0.0.2.ip6.arpa.    IN    PTR    ns.xxxx.ntpc.edu.tw.


    MNAME 為 primary DNS server,輸入主要的 DNS 的 FQDN!
    RNAME 為系統聯絡人的 E-mail,記得要把 @ 符號取代為 .,還有因為位址是 FQDN,所以也別忘了最後面的 .。
    SERIAL 為 DNS record 的流水號,每次更新後記得也要更新這個編號,而且要遞增!這樣一來,其他 DNS server 才知道 DSN record 有更新。
    REFRESH 為次要 DNS server 的更新時間,表示次要 DNS server 需要多久來跟主要 DNS server 同步資料。
    RETRY 為次要 DNS server 若是更新失敗要重試之前所需要等待的時間。
    EXPIRE 為次要 DNS server 的 DNS record 過期時間,也就是如果次要 DNS server 一直無法向主要 DNS server 進行資料更新的話,一旦過了這個時間後,次要 DNS server 將不會再進行解析 DSN record。
    MINIMUM 為 DNS record 的最小生存時間。當某個紀錄被查詢到後,DNS server 會將它給暫存起來,而在這個時間內的查詢都將直接利用該暫存的答案進行答覆。過了這個時間後,如果新的查詢才會進行解析。


重啟dns
sudo  service bind9 restart

nds log在 /var/log/syslog

測試指令 nslookup host whois dig


dns的安全性設定


1.顯隱藏版本
在named.conf中加入一行
version "BIND";

2.只有內部機器可以查詢
  allow-query { 163.20.0.0/16; 10.0.0.0/8; 203.72.0.0/16; };
 
3. 限制所有查詢要求 allow-recursion
  allow-recursion { 127.0.0.1/32; 10.0.0.0/8; 163.20.0.0/16; };


dhcp server與webmin

1.ubuntu安裝dchp
sudo -s
apt-get update
apt-get install isc-dhcp-server

##如果要移除apt-get remove isc-dhcp-server

設定檔案/etc/dhcp/dhcp.conf
先做備
cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf-bak
vim /etc/dhcp/dhcpd.conf

說明:
網域名稱
option domain-name "example.org";
dns server設定
option domain-name-servers ns1.example.org, ns2.example.org;
預設dchp出租時間
default-lease-time 600;
最大出租時間
max-lease-time 7200;

設定範例,把xx改成學校的號碼
subnet 10.231.xx.0 netmask 255.255.255.0 {
  range 10.231.xx.50 10.231.xx.250;
  option domain-name-servers 203.72.153.6, 168.95.1.1;
  option domain-name "xxxx.ntpc.edu.tw";
  option subnet-mask 255.255.255.0;
  option routers 10.231.xx.254;
  option broadcast-address 10.231.xx.255;
  default-lease-time 600;
  max-lease-time 7200;
##綁mac設定固定IP
host academic00 {
  hardware ethernet 08:00:07:26:c0:a5;
  fixed-address 10.231.xx.20;
}


}

簡易設定程式
mkdhcpd.sh

csv中host名稱不可以是中文
computer.csv

下載後,在所在位置,開啟終端機
sudo -s
chmod +x mkdhcpd.sh
bash mkdhcpd.sh computer.csv
會自動按照csv設定幫您設定管理電腦IP
注意的地方是發固定IP的位址不可以和range的部分相重疊。

cp dhcpd.conf /etc/dhcp/dhcpd.conf
/etc/init.d/isc-dhcp-server restart

圖形界面管理webmin
官網:http://www.webmin.com/
下載deb版本
http://prdownloads.sourceforge.net/webadmin/webmin_1.770_all.deb
安裝
sudo dpkg -i webmin_1.770_all.deb
apt-get -f install
開啟瀏覽器輸入https://IP:10000
輸入帳號和密碼






2015年11月15日

電光超人

心中突然有個想法,來做個電影版的電光超人,應該做得起來。展場上應該很有效果。
材料:motuduino、LED燈條、s4a sencerboard、鋰電池
5米的LED燈條是要接110V的電到變壓器中轉成12V 2A的電出來,而motoduino的版子可以撐到12V,這樣就好玩了。
於是把這些組合起來。
首先把LED的電源改成motoduino供電,走pin 6 pwm(馬達腳位),但motoduino的版子只有5V供電,所以要外接電源。接起來就變成這樣了。

使用arduino ide+ AdruBlock把程式寫入板子(加上s4a的sencer board可以做互動),就變成可以到處移動的電光超人了。



2015年10月26日

繼電器-互動家電

使用光敏感應A1和按鈕D2來控制繼電器D4、D12,分別啟動兩種家電。
s2a程式碼:
 繼電器接法:
插頭接法:把一條電源線截斷,兩端鎖在插座的兩個端點。
youtube影片


2015年10月23日

執行swf

有人反應,有可能在edu下開啟swf嗎?
大家可以試一下以下兩支程式
一支是gnash,一支是klash,應該都不錯用才對。
善用軟體中心的搜尋功能喔!

2015年10月22日

信業廣播系統維護

主要是廣播出問題和phantosys問題。

 個人處理經驗給大家參考:
1.硬體沒問題,廣播出問題在線路混亂,需好好查線。個人只協助接回應該接的位置。至少廣播是正常了。廣播盒是串接方式相接,黄色和橙色的線代表一進一出(有規則即可)不可以交錯

2.phantosys問題,在於組長新接任,又是代課,還沒有上電腦課,主任組長兼課,只上課不負責維護,不能用線路就自己隨意接。
許多問題不是我能處理的範圍。
使用手冊下載
只要依照規則接,問題不大。
如果要改號碼做法如下
1.在學生機的廣播盒上,有手的圖示孔上插入音源線,此時學生的廣播盒會閃紅燈。
2.在教師機旁的廣播主機上會亮紅燈,按設定5下,再按該號碼,再按要改成的號碼,再按下設定鈕,即可完成號碼更改。

如果是學生螢幕變色,通常是螢幕接頭或是黃色橙色線沒有插好,檢查廣播盒的黃色和橙色網路線及黑色和藍色螢幕接點。

如何判斷是否為廣播盒損壞:在主機未開電源時即廣播盒即亮紅燈(通常是主機按下去右上角紅燈才會亮),此時廣播盒壞掉機會大增。如果都無燈號可能是電源線未接或是電源按鈕關閉,檢查電源插座和電源開關按鈕


至於老師機的廣播主機因常按鈕會有表面破損部分,請即早到書店買貼紙貼上即可,不要到把裡面開關按鈕按壞了才處理。

 每一排結束的地方會有兩個藍色的終端子,別弄丢了,要查問題也可以把終端子移至適當位置(我通常是用二分法),方便查昰否為黃色橙色網路線問題。

如果是橙黃色線壞了出問題,使用cat 5e的網路線代替即可。

如果廣播盒壞了可以把使用率較少的廣播盒拿來使用, 個人把語言教室的廣播和電腦教室的廣播盒混接在一起使用,也都正常。

對於內容管理器部分,個人覺得,不管商業軟體和自由軟體,你都需要學習,差別呢?認真學都可以學好,商業軟體學好了,還需要花錢解決新版問題。不然就是花錢找廠商了。

2015年10月21日

Microdia PC Camera for edu2015

在新北市有不少學校曾經配發過這款webcam

曾經有人問過,可以在linux下使嗎?一直沒有設備,今天書軒老師那剛好有,拿來測試一下,在ecu2015下應該都沒問題。
1.linux認識設備嗎?插入usb孔,執行指令lsusb,看到下列,
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0461:4e2a Primax Electronics, Ltd
Bus 001 Device 003: ID 0461:0010 Primax Electronics, Ltd HP Keyboard
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 0c45:6270 Microdia PC Camera (SN9C201 + MI0360/MT9V011 or MI0360SOC/MT9V111) U-CAM PC Camera NE878, Whitcom WHC017, ...
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

看來是認識
2.如果是cheese vlc找不到設備如何解決,應該是沒有安裝到uvc的設備驅動,請安裝下列程式:
sudo apt-get install guvcview
如果是圖形界面,開啟軟體中心,輸入uvc
 如果是mint,在synaptic中輸入uvc,安裝下列程式
這樣開啟cheese vlc guvcview都可以使用這支webcam了。

2015年10月13日

手機就是線上簽到系統

今天又發揮maker精神,昨天和夥伴討論講到NFC是很多系統都預設支援的設備!那...
手機可以當研習時線上簽到系統?如果可以,以後就不用帶筆電和找一台主機了。
試了一下,讀卡機沒有亮燈訊號,真慘! 不死心,有沒有可能是沒有電源的關係?於是找了雙頭的USB線,一頭接OTG線,一頭接外接電源,給它供電,哇!嗶一聲,它活了,上網測試,可以線上簽到,太棒了。
需要的設備:
手機一支:我的是Android系統
OTG連線線
USB線
NFC讀卡機



下午保太的手機預設OTG會供電,他說ANdroid5以上就預設會供電,太棒了,又可以少個設備了,用預設的USB線就直接可以用了。
平板應該也可以才對。

2015年10月11日

歡迎泡泡機器人

想做一個有人來會自自吹泡泡的設備。
1.要有泡泡水,自製會比較便宜,使用便宜的洗碗精(愈貴的效果愈差),加上到化工行買的甘油(可以用膠水代替,但算一下甘油整瓶比較便宜),比例大約即可水:洗碗精:甘油=4:2:1
2.泡泡機:可以使用有附著力的線材,我用網路線(因為容易取得),加上一台電扇,可以産出很多的泡泡。但因體積有點大,不易攜帶。到拍𧶠網站大人賣不到百元的自動泡泡機(使用3個A3電池),拿來改裝一下,把電池盒的兩點拉出來。
3.使用開放硬體來做控製並供電,一舉兩得。程式碼如下:

4.啟動方式可多發揮想像力,除了紅外線可以用哪些?微控開關、聲音、光線、電阻值可以做到嗎?用你的方式去做出不一樣的泡泡機器人!

2015年10月8日

觸控開關

使用arduino ede+ArduBlock設計
程式碼圖
說明:使用A5類比pin來當觸控開關,如果A5的值達到條件即做動作,使用數位pin 7 8來接繼電器,繼電器啟動LED燈條,當A5條件消失時,把繼電器關掉。


類比A5接上兩條線到盒子接上鋁鉑紙,置放左右兩側,當人兩雙手接觸時,電阻值達到設定條件,此時啟動LED燈條。最後美工一下作品如下圖

如果要用s2a來設計程式碼如下圖
操作影片



2015年9月15日

edu2015隨身碟系統

今天去分享一些東西,由於地點沒有edu2015系統,於是想到了一個方法,來讓大家體驗系統。
用隨身碟來試用linux不是新聞,但我使用的是把系統安裝進入隨身碟,而不是做live隨身碟,差異在它是install進隨身碟的,所有功能都正常,就如同一個硬碟(隨身碟效能要比硬碟差些),該調的該補丁的都完成了。
我把它用clonezilla live備起來再壓縮成zip,需要的人自取。
還原方式:
    下載zip,解壓縮到根目錄中,找一只32GB隨身碟,使用clonezilla live還原到隨身碟中。即完成了。
我還有一個用意是clonezilla live真的很好用,希望還沒有用的人可以試著用。我用它一次可以做十幾支的隨身碟,快速又好用。
    這支隨身碟也可以當救火隊,用來救昏倒當機時的資料,帶著走,隨時都有自已的系統可以用。

2015年9月14日

ramdisk應用

現在電腦的記憶體都不少,平時多數是空在哪裡。把一些常做寫入動作又不重要的檔案(tmp cache)放在ramdisk是個好方法。
記錄一下做法

vim /etc/fstab
加入下列內容
tmpfs    /home/teacher/.cache    tmpfs size=512M    0    0

teacher是帳號,512M是大小請自訂之。
做完有感覺執行檔程式時有變快

2015年9月9日

磁碟效能評測

在ubuntu下有個disk程式,發現還不錯用,可以測試磁碟效能、備份和還原。個人測了一下,測試隨身碟效能可以知道你這個隨身碟效能如何。



2015年9月5日

ubuntu1504安裝scratch2 offline

ubuntu 15.04安裝scratch2 offline 和s2a
記錄一下

sudo -s
cd
##安裝adob air
###安裝Scratch2 offline
wget https://scratch.mit.edu/scratchr2/static/sa/Scratch-439.3.air
Adobe\ AIR\ Application\ Installer  ~/Scratch-439.3.air

rm ~/Scratch-439.3.air
##安裝範例檔
wget https://scratch.mit.edu/scratchr2/static/sa/Scratch2StarterProjects.zip

unzip -d /opt/Scratch\ 2/share/Scratch\ Projects Scratch2StarterProjects.zip
rm -rf ~/文件/Scratch\ Projects/
ln -s  /opt/Scratch\ 2/share/Scratch\ Projects ~/文件/Scratch\ Projects
###改語系為只有英文和中文
cat /opt/Scratch\ 2/share/locale/lang_list.txt |grep zh-tw  >/opt/Scratch\ 2/share/locale/lang_list.txt-cc
mv /opt/Scratch\ 2/share/locale/lang_list.txt-cc /opt/Scratch\ 2/share/locale/lang_list.txt

##安裝s2a
##安裝python-pip 
apt-get install python-pip
##顯示 pre-installed Python 套件:
pip freeze
 ##如果沒有出現任何像pyserial==2.5 or pyserial==2.7 在清單中請建立使用 pip, 並安裝 PySerial:
 pip install PySerial
##安裝 PyMata 為了串行通訊在Python 用 Firmata 在 Arduino (PySerial 需要事先安裝 ):
pip install PyMata   
##下載s2a到家目錄
wget https://github.com/MrYsLab/s2a_fm/archive/master.zip


unzip master.zip
cp -a s2a_fm-master /usr/share/
chmod -R 777 s2a_fm-master/
下載連線程式
cd /home/teacher 
wget ftp://163.20.108.1/open/s2a_content.sh
wget ftp://163.20.108.1/open/s2a_content.png
chmod +x s2a_content.sh
cp -a s2a_content.sh /usr/share/s2a_fm-master

mv  s2a_content.sh ~/s2a_fm-master
cp   s2a_content.png /usr/share/s2a_fm-master
cp ~/s2a_fm-master/ScratchFiles/ScratchProjects/s2a_fm_base_zh_tw.sb2  ~/s2a_fm-master/
cp  /usr/share/s2a_fm-master/ScratchFiles/ScratchProjects/s2a_fm_base_zh_tw.sb2 /usr/share/s2a_fm-master
 
cd ~/Desktop

wget ftp://163.20.108.1/open/s2a_Scratch%202.desktop
chmod 777  s2a_Scratch\ 2.desktop
wget ftp://163.20.108.1/open/s2a.desktop
chmod 777 s2a.desktop
改ttyUSB0的群組
vim /etc/group
找到 dialout
在:後加入使用者,我這裡習慣用teacher和student就會成為下列
dialout:x:20:teacher,student 
 


2015年9月2日

NTPC-WPA2在edu2015

實做出來記錄一下:ubuntu連NTPC-WPA2這個AP,設定只要注意起個地方,設定不難。
憑證無可以連線,第一次連時會有警告訊息,如想傳輸加密可以加上憑證檔。


2015年9月1日

edu2015為視障生調整

1.可以改變螢幕大小為800*600
2.使用Tw-eak可以改變佈景與主題為高亮度和滑鼠
3.改變滑鼠游標,如果沒有適合的可以到
http://gnome-look.org/content/show.php/ComixCursors?content=32627
下載,下載後解壓縮,並把ComixCursors-0.8.2資料夾內的資料夾搬移到/usr/share/icons
這樣就會有很多滑鼠可以選了。
4.放大螢幕可以在CompizConfig中調整,把縮放螢幕拿出來用,可以設定鍵盤和滑鼠