Webãã©ãŠã¶ã§144MHzã®ã¢ããã¥ã¢ç¡ç·ãåä¿¡ããŠã¿ã
RTL2832Uãã³ã°ã«ã§äœ¿ãrtl-sdrã«ã¯ãrtl_tcpã®ã»ãã«ãããã€ãã³ãã³ããå«ãŸããŠããŸãããã®ãªãã§ãrtl_fmãšããã³ãã³ãã¯ãã®åããäºæ³ããããšãããFMãåä¿¡ããããšãã§ããŸããããã¯FMæŸéã ãã§ã¯ãªããã¢ããã¥ã¢ç¡ç·ã®ãããªç垯åNBFMã埩調ã§ããŸããå®ã¯ãã«ããèŠãŠã¿ããšAMãSSB(LSB/USB)ãæãŠã¯CWã®åŸ©èª¿ãI/Qä¿¡å·ãåãåºãããšãŸã§å¯èœãªããã§ããåŸ©èª¿åšæ³¢æ°ã埩調ã¢ãŒããªã©ã¯ãã¹ãŠã³ãã³ãã©ã€ã³åŒæ°ã§æå®ããããšãã§ããŸãã
å¥å ±ã®ãšããrtl_tcpã«ãããªã¢ãŒãåä¿¡ãµãŒãã®å®éšãããŠããã®ã§ããããã®æµãã§rtl_fmã®ä»æ§ãçºããŠãããšããããããHTTP CGIã«ããããšãæãã€ããŸãããrtl_fmãæšæºåºåã«æžãåºãRAW AUDIOããã©ãŠã¶ããµããŒããããã©ãŒãããã«å€æããããšãã§ãããªãã°ãHTTPãçµç±ããŠåä¿¡ããé³å£°ããã©ãŠã¶ã§åçãããããšãã§ãããã§ããHTTPã«ããåä¿¡ãµãŒãã«ãªãããã§ãã
Linuxã§ã¯é³å£°ãã©ãŒãããã®å€æã«soxã䜿ãã®ãå®çªã§ããsoxã¯æšæºå
¥åããRAW AUDIOãåãåã£ãŠãWAVã«å€æããããšãã§ããŸããããšã¯HTTPããããä»ããããšã§CGIãšããŠå¿
èŠæå°éã®æ©èœãæºããããšãã§ããŸããb-shellã ãšãããªæãã«ãªããŸããQUERY_STRINGã§åšæ³¢æ°ãæž¡ãããã«ããŠã¿ãŸãããããã©ã«ãã§ã¯145MHzã«ãªãããã«ããŠããŸãããã®CGIã«ã¢ã¯ã»ã¹ããããã«HTMLãçšæããŸãã以äžãåç
§ããŠãã ããã
ãã®CGIã䜿ãããã«ã¯ãRTL2832Uãã³ã°ã«ãæ¥ç¶ããLinuxã§ãHTTPãµãŒããåäœãããå¿
èŠããããŸããäžè¬çãªApacheãªã©ã®WebãµãŒãã䜿ã£ãŠãè¯ãã®ã§ãããããã§ã¯ç°¡åã«pythonã«å«ãŸããŠãããµãŒãã䜿ã£ãŠã¿ãŸããdebian(raspbian)ã«ã¯æåããã€ã³ã¹ããŒã«ãããŠããŸãã
ãã£ã¬ã¯ããªãäœæããŠããã®äžã«HTMLãã¡ã€ã«ãšCGIçšã®ãã£ã¬ã¯ããªcgi-binãäœæããå
ã»ã©äœæããã¹ã¯ãªãããé
眮ããŸããæåŸã«pythonã䜿ã£ãŠãCGIããµããŒãããHTTPãµãŒããèµ·åããŸããHTTPãµãŒãã¯ãã©ã¢ã°ã©ãŠã³ãã§åäœããããŒãçªå·ã¯ããã©ã«ãã§8000ãšãªããŸãã
$ mkdir web $ cd web $ mkdir cgi-bin $ cp ~/nbfm2wav.cgi cgi-bin $ chmod +x cgi-bin/nbfm2wav.cgi $ cp ~/nbfm.html . $ python -m CGIHTTPServer
HTTPãµãŒããåããããPCãMacã®ãã©ãŠã¶ããã¢ã¯ã»ã¹ããŠã¿ãŸãã
Startãã¿ã³ãæŒããšãïŒç§ã»ã©çµéããåŸã«é³å£°ãåçãããã¯ãã§ããåçéå§ãé
ããã®ã¯ãã©ãŠã¶ã§ãããã¡ãªã³ã°ãããããã§ããMacã®Chromeã䜿ã£ãå Žåã§5ç§çšåºŠã§ããã
åšæ³¢æ°ã倿Žãããšããããã¯ã5ç§çšåºŠé
å»¶ããŸãããããã¡ãªã³ã°ããã以äžããã¯ä»æ¹ãããŸããã
http://youtu.be/3v12uJ7xfnw
æè¿ã¯ãWebã¢ããªã®ããã«ãŠãŒã¶ã€ã³ã¿ãŒãã§ãŒã¹ããã©ãŠã¶ã§æ§æããããšãæšæºçãªææ³ãšãªã£ãŠããŸããããœãããŠã§ã¢ç¡ç·ã§ãå¯èœãããããŸãããä»åã¯åçã®ç¢ºèªã§ãã®ã§ãç°¡åãªããšãã詊ããŠããŸãããã埩調ã¢ãŒããã²ã€ã³ãã¹ã±ã«ãã»ããåä¿¡æ©ã«å¿
èŠãªåçš®æäœãã§ãããããªãŠãŒã¶ã€ã³ã¿ãŒãã§ãŒã¹ãäœãããšã¯é£ããããšã§ã¯ãªãããã§ããæå
ã«ã¯ç¹å¥ãªã¯ã©ã€ã¢ã³ããå¿
èŠãšããããªãŒãã£ãª(HTML5)ã«å¯Ÿå¿ãããã©ãŠã¶ãããã°OKã§ãããŸããPCã ãã§ã¯ãªããã¹ããŒããã©ã³ããã®å©çšãå¯èœã ãšæãããŸãã(æ®å¿µãªããäžèšã®ã¹ã¯ãªããã§ã¯ããŸããããŸãã)
ååãšåæ§LinuxãšããŠãRaspberry Piãå©çšããŠããŸããrtl_fmã§FM埩調ããå ŽåCPUã30%æ¶è²»ããŠããŸããã
rtl_tcpã®åä¿¡ãµãŒãã¯ãµã³ããªã³ã°ã¬ãŒã2Mã§8bitã®I/Qä¿¡å·ãéä¿¡ããŸãã®ã§ã16ã32MbpsçšåºŠã®åž¯åå¹
ãæ¶è²»ããŸãããã®èšäºã®HTTPåä¿¡ãµãŒãã¯é³å£°ã®ã¿ããµã³ããªã³ã°ã¬ãŒã16kHz16bitã§éä¿¡ããŸãã®ã§256kbpsçšåºŠã®åž¯åå¹
ã«ãªããŸãã
ãã®æ¹æ³ã«ãããªã¢ãŒããµãŒãã¯ãåæã«äžäººãã䜿çšããããšãã§ããŸãããHTTPã»ãã·ã§ã³æ¯ã«rtl_fmãããã€ã¹ãå æããŠããŸãããã§ãã工倫ããã°è€æ°ã®ã»ãã·ã§ã³ããµããŒãããããã«ã¯ã§ããŸãããåšæ³¢æ°ãã¢ãŒããåå¥ã«èšå®ããããšã¯ã§ããŸãããè€æ°ã®ãã³ã°ã«ãæèŒãããšããŠãããµããŒãã§ãããŠãŒã¶æ°ã¯ãã³ã°ã«ã®æ°ã«éå®ãããŸãããã©ãŠã¶ã§å©çšã§ãããšã¯èšã£ãŠããäžç¹å®å€æ°ã«ãµãŒãã¹ããããšã¯é£ããã§ããLANå
ã§å©çšããããšãçŸå®çã§ãã
äžã§è¿°ã¹ãããã«é³å£°ã®åçã«ãããã¡ãªã³ã°ã«ããé
å»¶ãçããŸãããã®ããããã¥ãŒãã³ã°æäœãããããšããå Žåã¯ãæäœããé³å£°ãå€åãããŸã§é
å»¶ãçããããšãšãªããé£ç¶çãªãã¥ãŒãã³ã°æäœã¯å®¹æã§ã¯ãããŸãããçŸç¶ã§ã¯SSBãCWãªã©ã®å©çšã¯ã¹ã ãŒã¹ã«ã¯ãããŸãããã©ãžãªã®ãããªãã£ãã«èšå®ã«ããå©çšãæåãããããŸããã
ãšã¢ãã³ã(AM)ãåæ§ã«åä¿¡ããäŸããã©ãŠã¶ã®ã¢ãã¬ã¹æ¬ã§çŽæ¥åšæ³¢æ°æå®ããŠããŸããhttp://youtu.be/ogm6XB7v09A
rtl_tcpã«ãããªã¢ãŒããµãŒãã«ã€ããŠã®ååã®å®éšÂ http://ttrftech.tumblr.com/post/36742746471/raspberry-pi-remote-rtl2832u-sdr-server