主页(http://www.pttcn.net):用树莓派和业余无线电打造远距离无线视频传送 在本项目中,我用配有PiCam摄影机的Raspberry Pi做为无线摄影机,可远距离、约百米内传送影像。影像的传送是由慢速扫描电视(SSTV)透过业余无线电台(俗称火腿电台)于2米波段(144.5兆赫)传输。 感谢 Oliver Mattos和Oskar Weigl,Raspberry Pi可以自行发出高频FM讯号,低功率传输时无须使用额外的电子产品。若功率须些微增加,多加上一个单电晶体或双电晶体的放大器即可。另外,推荐使用低通滤波器以过滤高频讯号。 此项目还包含了侦测动态物体的Python程序码,让Raspberry Pi做为远超过一般WiFi网路范围的无线监视摄影机。请注意!你必须拥有业馀无线电执照才能只用此装置。 以下是装置图示,请按照步骤进行。项目程序码可以在我的博客或我的GitHub网页找到。 特别感谢KI4MCW (SSTV), Oliver Mattos 以及 Oskar Weigl (PiFm)
图示:antenna 天线/Pi NoIR Camera PiNoIR摄影机/PiFace control & display PiFace控制显示面板/Battery 电池 可携式SSTV摄影机会拍摄影像并且经由业馀无线电台SSTV摄影机传送画面。 材料
第一步:连接硬件
第二步:拍摄画面
raspistill -t 1 --width 320 --height 256 -e png -o /tmp/image.png
第三步:将影像转换为SSTV声音档
pi@rpicamera ~/sstv $ sudo apt-get install libgd2-xpm-dev pi@rpicamera ~/sstv $ sudo apt-get install libmagic-dev pi@rpicamera ~/sstv $ gcc -lgd -lmagic -o pisstv pisstv.c
pi@rpicamera ~/pisstv $ ./pisstv /tmp/image.png 22050 Constants check: rate = 22050 BITS = 16 VOLPCT = 20 scale = 6553 us/samp = 45.351474 2p/rate = 0.000285 Checking filetype for file [/tmp/image.png] File is a PNG image. Input file is [/tmp/image.png]. Output file is [/tmp/image.png.wav]. Writing audio data to file. Got a total of [2589556] samples. Done writing to audio file. Created soundfile in 4 seconds.
第四步:以PiFM传输声音
第五步:降低频宽
void consume(float* data, int num) { for (int i=0; i<num;i++){ float value = data[i]*8; // modulation index (AKA volume!)
void consume(float* data, int num) { for (int i=0; i<num;i++){ float value = data[i]*modulation_index; // modulation index (AKA volume!) (original 8)
第六步:调整定时
//clocksPerSample = 22500.0 / rate * 1373.5; // for timing, determined by experiment clocksPerSample = 22050.0 / rate * timing_correction; // for timing, determined by experiment
第七步:新增呼号
第八步:捕捉动态
这里是程序码的片段:
# loop forever while (True): (中国集群通信网 | 责任编辑:陈晓亮) |