google-sheet2Html

/*! * * Google Sheets To HTML v0.9a * * To use, simply replace the "tq?key=" value in the * URL below with your own unique Google document ID * * The Google document's sharing must be set to public * */ google.load('visualization', '1', { packages: ['table'] }); var visualization; function drawVisualization() { var query = new google.visualization.Query('https://spreadsheets.google.com/tq?key=https://docs.google.com/spreadsheets/d/1-vUEZ9tae5C_OXzSi0dQPWwUrO3H5S-gImB5afFgqDg/edit?usp=sharing'); query.setQuery('SELECT A, B, C, D label A "Duration", B "Song", C "Requested By", D "URL"'); query.send(handleQueryResponse); } function handleQueryResponse(response) { if (response.isError()) { alert('There was a problem with your query: ' + response.getMessage() + ' ' + response.getDetailedMessage()); return; } var data = response.getDataTable(); visualization = new google.visualization.Table(document.getElementById('table')); visualization.draw(data, { legend: 'bottom' }); } google.setOnLoadCallback(drawVisualization);
Showing posts with label วิทยุสมัครเล่น. Show all posts
Showing posts with label วิทยุสมัครเล่น. Show all posts

Thursday, February 2, 2017

ซิมเพล็กซ์ รีพีทเตอร์ simplex repeater

โปรแกรม simplex repeater ทำเองก็ได้

บทความนี้ แสดงวิธีการ สร้างสถานนีทวนสัญญาณ เพื่อศึกษา การเขียนโปรแกรมเท่านั้น โปรดขอคำแนะนำกับ ศูนย์ควบคุมข่าย ประจำจังหวัด ก่อน ทดสอบ ครับ

โปรแกรม ซิเพล็ก รีพีทเตอร์ ในบทความนี้ใช้ ภาษาไพทอน ร่วมกัน sound meter  ถ้าอ่านแล้วไม่เข้าใจ ขอให้ย้อน ไปดู โพสท์ เก่าๆ ก่อน  โปรแกรมนี้ จะเป็นการเรียกใช้ สคริป ให้ทำงานเมื่อมีระดับเสียงดังในระดับที่กำหนด โดยจะทำการ บันทึกเสียง 10 วินาที จากนั้น จะส่ง สัญญาณ จาก Pyserial ควบคุม ปุ่ม PTT ของวิทยุสื่อสาร ออกอากาศ ด้วยเสียงที่บันทึกไว้โดย สคริป ที่ควบคุม ชื่อ repeater.sh มีรายละเอียดังในภาพ


 เมื่อ soundMeter ได้รับสัญญาณ เสียงจาก ไมโครโฟน ดังกว่าระดับที่ตั้งไว้ จะทำการบันทึกเสียงในไฟล์ชื่อ simplex.wav 
โดยทำการบันทึกเสียง แชนแนลเดียว ด้วย คำสั่ง rec -c 1 โดยกำหนดความยาวเป็นเวลา 10 วินาที่ ด้วย พารามิเตอร์ trim 0 10
คำสั่ง sleep 0.5 ให้ หยุด 0.5 วินาที เพื่อ ให้ pyserial ทำงาน แล้วจึง ส่งเสียงออกมาด้วย คำสั่ง play simplex.wav
 
ในการใช้งาน window  กับ linux การเรียกใช้ Pyserial ต่างกันเล็กน้อย ไปดูโพสท์ เก่าๆ แล้วแก้ไข การควบคุมที่ บรรทัด #insert PTT on กับ #insert PTT off

ดูวีดีโอตัวอย่างใช้งาน https://youtu.be/z5jsPE5CeDg





ในส่วน GUI ด้วย Tkinter Python 2 มีรายละเอียดดังนี้
#!/usr/bin/python
# coding: utf-8

#program radio+computer  by HS1ZFK
#last modify 2/02/2560 ConchRepeater#  version 2.0 Sox

import os
from Tkinter import *





def SetSerial():
    print "set usb serial converter"



def RepeaterOn():
    #repeater Start
    print "start repeater"
    #print ( tiggerValue.get())
    tig = str(tiggerValue.get())
    command = "soundmeter --trigger +" + tig +" 1 --action exec-stop --exec repeater.sh"
    print command
    os.system(command)

def About():
    Message(Mwin, text="Simplex Repeater by HSZFK"
            "set Mic noise Levea ""and time then click start", bg="royalblue", fg="ivory",relief=GROOVE).pack(padx=10, pady=10)

Mwin = Tk()  #Main Window

#set Menu bar
menubar = Menu(Mwin)


#create pulldown menu
ModeMenu = Menu(menubar,tearoff=0)
ModeMenu.add_command(label="Exit ", command=Mwin.quit)
menubar.add_command(label="Set up serial port", command=SetSerial)

menubar.add_command(label="Quit!", command=Mwin.quit)
menubar.add_command(label="About", command=About)


#display menu
Mwin.config(menu=menubar, bg="light cyan")

Mwin.geometry("450x350+300+300")        #set size and position of window
Mwin.title('Simplex_Sox v2.0 by HS1ZFK')




tiggerValue = Scale(Mwin, from_=300, to=500, length=600,label="trigger",bg="light cyan", troughcolor="blue", tickinterval=25, orient=HORIZONTAL)
tiggerValue.set(370)
tiggerValue.pack()

# set button
Btn1 = Button(Mwin,text=" Start Repeater ", bg="pale green",command=RepeaterOn)
Btn1.pack()

Mwin.mainloop()     #start the event loop


Thursday, January 26, 2017

โปรแกรม อ่าน ประกาศข่าว ชมรม ออโตเมติก

ประกาศข่าว ชมรม ด้วยคอมพิวเตอร์


   เนื่องด้วย พรบ. คอมพิวเตอร์ฉบับใหม่ ที่ประกาศใช้(25 มค.2560) มีบทกำหนดโทษผู้เผยแพร่ ซอร์ดโค้ด ที่มีผู้อื่นนำไปใช้ในทางผิดกฎหมาย จึงขอประกาศไว้ในที่นี้ว่า ผู้เขียนมีเจตนา สอนการเขียนโปรแกรมเพื่อการศึกษา เท่านั้น

   ในบทความนี้ เป็นการเขียน Python script สำหรับ เรียก CQ ในการแข่งขัน CQ contest หรือ ไปใช้ในการประกาศข่าวสมาคม โดยตั้งเวลาได้ โดยใช้ กราฟฟิก GUI ของ Tkinter

ก่อนทำการเรียกใช้ โปรแกรม
สิ่งที่ต้องเตรียมคือ ไฟล์เสียงนามสกุล wav  ซึ่งเป็นไฟล์ เสียงที่ บันทึกไว้ล่วงหน้า รูปร่างหน้าตาของ โปรแกรม มีดังนี้





แถบ slide bar เพื่อเลือกการตั้งเวลา ให้รอกี่นาที จึงอ่านประกาศ ซึ่งตั้งได้ 30 นาที เมื่อทำการตั้งเวลาแล้ว ให้กดปุ่ม Start
เมื่อครบเวลาที่กำหนด จะ เล่น ไฟล์เสียง ออกทางวิทยุสื่อสาร ดังภาพ


 ภาพด้านล่าง เป็น สคริป




ในการใช้งานจริง ให้แก้ไข ที่ บรรทัด def PlayAudio โดยทำการแทรกโค้ด สังเปิดปิด สวิท ptt ของวิทยุสื่อสาร

และ ให้แก้ไข การนับเวลา ที่ start_timer ซึ่งได้แก้ไว้ให้ เร็วกว่าจริง เพื่อ บันทึกวีดีโอ
 https://youtu.be/yyIs20I4qHo


Monday, January 23, 2017

หาตำแหน่ง QRM ตอนวิธีใช้ SoundMeter

โพสท์ที่ผ่านมาได้ ติดตั้ง โปรแกรมเสร็จแล้ว หากยังไม่ได้อ่านเรื่องตามหา QRM ด้วยการจับเวลา อาจจะดูไม่เข้าใจ ขอให้ย้อนไปดู โพสท์ เก่าก่อน ครับ

หลังจาก เราหาระดับความดังเฉลี่ยของเสียงรบกวนในห้องได้แล้ว เมื่อได้ยินเสียงระดับ RMS ดังกว่าที่กำหนด จะให้สคิปทำงาน ในวีดีโอนี้ จะให้ สคริป พิมพ์ ค่าเวลา ออกมาทางจอภาพ  ด้วยสคริปตั้งชื่อว่าpt.sh

 การใช้งาน soundmeter ด้วยคำสั่ง

$ soundmeter --trigger +350 1 --action exec-stop --exec pt.sh

เป็นคำสั่ง --trigger +350 เป็นการตั้งค่าให้ สคริปทำงานเมื่อ มีค่า RMS ของเสียงเกินกว่า 350

หมายเลข 1 หมายถึงให้ทำตามคำสั่ง 1 ครั้ง
คำสั่ง --action exec-stop หมายถึงให้ทำงานตามสคริป จากนั้นให้หยุดทำงาน 
คำสั่ง --exec pt.sh หมายถึงให้ทำงานตามสคริปชื่อ pt.sh

 ลองดูวีดีโอ คลิป https://www.youtube.com/watch?v=31R_6wcJiPI
 

Friday, January 20, 2017

หาตำแหน่ง QRM

หาตำแหน่ง QRM ด้วย การจับเวลา

เครื่องรับ GPS มีหลักการคำนวนพิกัด โดยคำนวณ จาก ความแตกต่างของเวลาที่สัญญาณที่ส่งจากดาวเทียมแต่ละดวงส่งถึงเครื่องรับ ถ้าเราใช้หลักการเดียวกันนี้ในการหาตำแหน่ง QRM เช่น สมมุติ สถานนีควบคุมข่าย HS1AB และ สถานนี HS1AM ซึ่งทั้ง สองสถานนี เราทราบ พิกัด GPS ต้องการตรวจหาตำแหน่ง QRM โดยการจับเวลา เมื่อได้รับสัญญาณ เสียงจาก ลำโพง (เสียงของ QRM) เอาเวลาที่แตกต่างกัน มาทำการคำนวณ ก็สามารถหาตำแหน่ง QRM ได้เช่นกัน
คลื่น เดินทางได้ 299,792,458เมตร ต่อ วินาที
นั่นคือ ใน 1 นาโน วินาที จะเดินทางได้ 29.9792458 cm

ในการตรวจจับ หาตำแหน่ง QRM ต้อง มีการติดตั้ง โปรแกรมที่ตรวจสอบ เสียงจาก วิทยุสื่อสาร ที่ทำการตั้งโทน สเควร์ เท่ากัน, สายอากาศ ที่มีกำลังขยาย ในระดับเดียวกัน อย่างน้อย 3 สถานนี แล้วนำ ค่าเวลามาคำนวณ


ในบทความนี้ จะใช้ โปรแกรม  Soundmeter 0.1.3 Python Package

ซึ่งเป็น  command line tools สำหรับตรวจวัดระดับเสียงแล้วเมื่อได้ยินเสียงตามระดับความดังที่กำหนด ก็สั่งให้ ทำตามคำสั่งสคริป

ในการใช้งาน ตัวอย่าง เช่น เมื่อได้ยินเสียงทาง ไมโครโฟน
ให้ บันทึกเสียง
หรือ ให้พิมพ์ เวลา เพื่อใช้ในการคำนวนหา QRM
หรือ ให้วิเคราะห์ เสียง  sound recognizer
หรือ เข้ารหัสเสียง เป็น GSM , FSK, codec2 ก่อน ส่งออกอากาศ

วิธีติดตั้ง Dependencies System Packages ก่อน ด้วย คำสั่ง

$ sudo apt-get install portaudio19-dev python-dev alsa-utils





จากนั้นติดตั้ง PyPi packages  ดังนี้
argparse
pyaudio
pydub
python-daemon

 ด้วยการพิมพ์ คำสั่ง

$ sudo -H pip install soundmeter --allow-all-external --allow-unverified pyaudio


หลังจากติดตั้งเสร็จ ให้ทำการ reboot เครื่อง และทดสอบผลการติดตั้งด้วย คำสั่ง
$ soundmeter

จะปรากฎดังในภาพ แสดงว่า ติดตั้ง สมบูรณ์ แล้ว

ก่อนที่จะใช้งาน ต้องทำการหา ค่าเฉลี่ย เสียง รบกวน ในห้องก่อน ในวีดีโอคลิป

 แสดง การตรวจจับ 5 วินาที่ ด้วยคำสั่ง
 https://www.youtube.com/watch?v=7dTLNtQWQTY


$ soundmeter --collect --seconds 5











เมื่อต้องการ เรียกใช้งาน เมื่อมี ระดับ เสียง RMS มากกว่า 317 แล้วให้ สคริป ทำงาน 1 ครั้ง แล้วหยุดทำงาน ตัวอย่างเช่น ต้องการให้ บันทึกเสียงสนทนา เราต้องเตรียม สคริปไว้ก่อน ในตัวอย่างใช้ชื่อว่า record.sh
 ให้พิมพ์ คำสั่ง

$ soundmeter --trigger +317 1 --action exec-stop --exec record.sh

ส่วนรายละเอียด คำสั่งอื่นๆ ลองไป อ่านดูใน
https://pypi.python.org/pypi/soundmeter



Wednesday, December 7, 2016

ใช้ python ควบคุมวิทยุสื่อสาร ตอน การ import โมดูล


ผู้ที่เริ่มหัดเขียนโปรแกรม อาจจะสับสนวิธีการ เรียกใช้โมดูลในภาษา python ทำให้ไปต่อไม่ถูก ตั้งแต่ บรรทัดแรก ลองอ่านบทความนี้ดู ครับ

วิธีการ import เรียกใช้ โมดูล ในที่นี้จะยกตัว โมดูล Tkinter

มี สองวิธี คือ

วิธีที่ 1

from Tkinter import *

จะสามารถ เรียกใช้ ฟังชั่นในโมดูลได้ เลย ดังในตัวอย่างที่ ผ่านมา
window = Tk()

ลองดูรายละเอียด 

from Tkinter import *

window = Tk()
window.title("HS1ZFK")
btnTxRx = Button(window, text="Tx/Rx", bg="light blue")
btnTxRx.grid(padx=80, pady=20)
window.mainloop()

วิธีที่

ในกรณีที่ต้องใช้ โมดูล หลายๆ อันในโปรแกรมเดียวกัน อาจจะเกิดปัญหาจาก ฟังชั่นในโมดูล มีชื่อ ซ้ำกัน เพื่อแก้ปัญหาดังกล่าว จะทำการ import ด้วยวิธีนี้
Import Tkinter
เมื่อจะเรียกใช้ ฟังชั่นในโมดูล ต้อง เรียกโมดูลก่อน ตามด้วยเครื่องหมาย จุด ตามด้วยชื่อฟังชั่น
window = Tkinter.Tk()

สังเกตุ โค้ดของวิธีที่ 2

import Tkinter


window = Tkinter.Tk()
window.title("HS1ZFK")
btnTxRx = Tkinter.Button(window, text="Tx/Rx", bg="light blue")
btnTxRx.grid(padx=80, pady=20)
window.mainloop()

ซึ่งทั้งสองวิธีจะได้ ผลเหมือนกันดังในภาพ
 
 


Friday, December 2, 2016

ใช้ Python ควบคุมวิทยุสื่อสาร ตอน Tkinter GUI




   การนำ คอมพิวเตอร์ มาพ่วงต่อกับ วิทยุสือสาร ผ่าน usb-serial มีวิธีประยุกต์ใช้ได้

หลายวิธี เช่น ให้ เปิิด ไฟล์ mp3 เสียง เรียก CQ ในการแข่งขัน , การ อ่านประกาศ ของ สมาคม / ชมรม ผ่านทาง อินเตอร์ เน็ท คือ ให้ Net_Control อยู่ที่บ้าน สามารถ ควบคุม วิทยุสื่อสาร ที่อยู่ สมาคม / ชมรม ได้ , การส่งข้อมูล ที่ เข้า รหัส (codec) ลองอ่านดูบทความเก่า ครับ
 

การใช้ python script ผ่านทาง command line ไม่ยาก แต่ จะถ้าจะ

แจก จ่ายให้ เพื่อน นักวิทยุสมัครเล่น เลือก ใช้ กราฟฟิก อินเตอร์ เฟส 

 GUI ง่ายสำหรับ เพื่อนๆ มากกว่า บทความนี้ จะใช้ Tkinter ในการสร้าง 

แทน Wxpython ในบทความเก่าที่ผ่านมา



สำหรับผู้ที่ใช้ windows เมื่อทำการ ติดตั้ง python ปรกติ จะติดตั้ง Tkinter ให้อยู่แล้ว แต่ ถ้าใช้ระบบ Linuxเริ่มติดตั้งด้วย

sudo apt-get update
sudo apt-get install python-tk


ในการเรียกใช้ Gui python tkinter ก่อนอื่นต้องตรวจสอบว่าเป็น python เวอร์ชั่นไหน เพราะ คำสั่ง

import ต่างกัน โดยเวอร์ชั่นของ python ให้สังเกตุจาก ข้อมูลหลังเรียกใช้ ดังตัวอย่างเป็น เวอร์ชั่น 2.7.12
ใน python 2 จะเรียก ใช้ด้วยคำสั่ง

from Tkinter import *
สังเกตุ อักษร T เป็นตัวพิมพ์ ใหญ่

และใน python 3 จะเรียกใช้ด้วยคำสั่ง

from tkinter import *
โดยจะใช้ัอักษร t ตัวเล็ก

ในที่นี้จะเขียน สคริป เพื่อ เรียก ปุ่มกด จากนั้น จะ ค่อยๆ เพิ่ม การควบคุม usb – serial เพื่อพวงต่อกับวิทยุ
และ การเรียกใช้ ไฟล์ mp3 การตั้งเวลา เป็น ลำดับ

ลองดู สคริป นี้ 
from Tkinter import *



window = Tk()

window.title("HS1ZFK")

btnTxRx = Button(window, text="Tx/Rx", bg="light blue")

btnTxRx.grid(padx=80, pady=20)

window.mainloop()


ลองดูรายละเอียด

from Tkinter import *
เริ่มแรก ทำการ import โมดูล tkinter เครื่องหมาย * คือ เรียกทุกอย่างใน โมดูล

window = Tk()
จากนั้นทำการสร้าง instance ของ Tk class โดยตั้งชื่อว่า window

window.title("HS1ZFK")
กำหนด title ของ window

btnTxRx = Button(window, text="Tx/Rx", bg="light blue")
สร้างปุ่มกด ชื่อ btnTxRx และใช้สี light blue หากต้องการเปลี่ยนสีให้ดูรายละเอียดที่


btnTxRx.grid(padx=80, pady=20)
สังเกตุ grid method จะทำการควบคุม ตำแหน่งของ widget ด้วย จำนวนช่องวาง pixel ตำแหน่ง x และ y

window.mainloop()
เป็นคำสั่งให้ วน loop จนกว่า จะ คลิกที่ เครื่องหมาย x เพื่อเป็นการหยุดการทำงาน

เมื่อเขียน script แล้วทำการบันทึกในตัวอย่างใช้ชื่อ firstTk.py สำหรับ Linux ให้ทำการ เปลี่ยนค่า permission ด้วยคำสั่ง
$ sudo chmod +x firstTk.py

จากนัน ให้โปรแกรมทำงานด้วยคำสั่ง
$ python ./firstTk.py
จะได้ หน้าต่าง ดังในภาพ




Thursday, November 24, 2016

Independent side band


Independent side band (ISB)


วิทยุ AM มีการใช้เทคนิค Single side band Mode ซึ่งแบ่งออก เป็น สัญญาณ คลื่น ครึ่งบน เรียก upper sideband (USB) และ สัญญาณ ครึ่่งล่างเรียก Lower Side band (LSB)

ในขณะเดียวกัน ถ้าให้ ผสม สัญญาณ ครึ่งบน ดัวยข้อมูล A และ ครึ่งล่าง ด้วยข้อมูลB จากนันผสมสัญญาณ และส่งออกอากาศ พร้อมกัน ทั้งครึ่งบนและครึ่งล่าง

เป็นการส่งสัญญาณ สเตริโอ (stereo) จะเรียกการส่งสัญญาณ แบบนี้ว่า Independent side band เรียกย่อว่า ระบบISB (independent แปลว่า อิสระ

ในบางแห่งอาจจะเรียกการส่งสัญญาณแบบนี้ว่า Kahm system ซึ่งพัฒนาโดยวิศวกรไฟฟ้า ชื่อ Leonard R. Kahn จนได้เป็นระบบ โมโตโลร่า ซีแคม (Motolola C-Quam AM Stereo) แล้วต่อมาได้พัฒนาเป็น ระบบ CAM-D AM digital อ่านเพิ่มเติม CAM-D AM digital   ที่

มีการใช้การส่งสัญญาณ ISB กับการสื่อสารระยะไกล แบบ point - to – point ในย่านความถี่วิทยุ HF นอกจาน นี้ยังมีการใช้ในทางการทหารด้วย


 

Saturday, July 23, 2016

อัดเสียง QSO ด้วยโปรแกรม Audacity

  โปรแกรม Audacity เพื่อทำการเฝ้าฟัง


เพื่อแก้ปัญหาการเฝ้าฟัง ช่วงนอกเวลาทำการ ของศูนย์ควบคุมข่ายวิทยุสมัครเล่น ซึ่งไม่มีเจ้าหน้าที่ทำการอยู่ สามารถใช้ความสามารถของโปรแกรม Audacity ทำงานแทนได้ โดยที่ Audacity เป็นโปรแกรมฟรี ดาวโหลด ได้ที่ http://www.audacityteam.org/download/

 หลังจากทำการติดตั้งโปรแกรมแล้ว ให้ทำการ ต่อ ไมโครโฟน จากคอมพิวเตอร์ และเปิด วิทยุสื่อสารไว้ ต่อไปให้ทำการ ตั้งค่าดังนี้

1 ไปที่ เมนู Transport เลือก Sound Activated Recording (on/off)



2 ตั้งค่า ไมค์ เป็น โมโน เพราะเสียงวิทยุสือสาร เป็น โมโน


 
3 ทำการหาค่า ความดังของเสียง (Threshold) ว่าต้องการให้เริ่มบันทึก ที่ระดับเสียงเท่าใด โดยเปิด วิทยุสื่อสาร จากนั้นกดปุ่ม Start Monitoring ที่ ไอคอน เครื่องหมาย ไมค์โคโฟน เมื่อทราบค่าที่ต้องการแล้ว คลิกเมนู Transport เลือก Sound Activation Level


 
4 กดปุ่ม บันทึก

5 เมื่อต้องการ หยุดให้ กดปุ่ม หยุด หากต้องการ บันทึกเก็บไว้ เป็น ไฟล์ mp3 ให้เลือกเมนู File – Export audio จากนั้น เลือก mp3
  
 วีดีโอ ประกอบ

Thursday, June 16, 2016

Text to speech คนใบ้เล่นวิทยุสื่อสารได้


เป็น ใบ้ ก็ เล่นวิทยุสมัครเล่นได้ 

 
      แรกเริ่ม ผมสร้างโปรแกรมนี้ให้ สถานนีควบคุมข่าย 144800 สมุทรปราการ ไว้เป็นการควบคุมวิทยุสื่อสารระยะไกล เพื่ออ่าน ไฟล์ ข้อความประกาศของสมาคม เคยเอาไปให้ดูสมาคมดู ในวันที่จัดสอบ นักวิทยุสมัครเล่น ที่่ ห้างอิมพีเรียลสำโรง

     เมื่อเปิดคลิปให้ดูได้รับคำตอบว่า "วิทยุสื่อสารควบคุมระยะไกล ให้คอมพิวเตอร์มันพูดเองได้ แปลกตรงไหน คราวแรกตั้งใจจะบอกว่า ต่อยอดไป ใช้เข้า hopping code, ไว้หา QRM, ไว้แข่งขัน ในงาน คอนเทส  และ อืี่นๆ ด้วยความเซ็งในอารมณ์ สุดท้ายเก็บไว้เล่นเอง ทดสอบออกอากาศ กับ HS1KQL, E22FNQ, E22MGD และ อีกครั้งกับ เพื่อนสมาชิก กลุ่ม HS1AP , HS1ZHY

โปรแกรม ชื่อ PyMesV14 เขียนด้วยภาษา pythonโดยใช้ เสียงสังเคราะห์ ให้คอมพิวเตอร์ อ่านข้อความแล้วออกอากาศ  มีความสามารถดังนี้

1 load ไฟล์ข้อความได้ ที่ใช้ประจำได้
2 พิมพ์ ข้อความเพิ่มเติม ได้
3 ลบ ข้อความ ได้

ในวีดีโอคลิป เริ่มจาก เพี่มข้อความใหม่ลงไป แล้วกดปุ่ม tts Tx ย่อจาก text to speech ส่วน Tx คือส่งออกอากาศ
จากนั้นลองกดคำที่ตั้งไว้ล่วงหน้า ให้อ่านออกอากาศ

Tuesday, June 14, 2016

ตั้งเวลาอัดเสียง QSO ด้วย crontab


การใช้งาน crontabเพื่อตั้งเวลาให้บันทึกเสียง QSO ของ ศูนย์ ควบคุมข่าย


บทความก่อน ได้เสนอ สคริป อัดเสียง QSO ที่จะอัดเฉพาะ เวลามีเสียง โดยไม่อัด คีย์เปล่าที่ออกอากาศ ไปแล้ว คราวนี้ จะแนะนำคำสัง ให้ สคริป ทำงาน ตามเวลาทำกำหนด เป็นการตั้งครั้งเดียว ให้ทำงานเป็นวงรอบ จนกว่าจะสั่งให้เปลี่ยนแปลง
 
crontab เป็นคำสั่งที่จะทำงาน ตามเวลาที่ได้กำหนดไว้ในตารางเวลา หรือที่เรียกว่า cron table
งานที่สั่งให้คอมพิวเตอร์ ทำ เรียกว่า cron job

รูปแบบของ cron job
min hour dayOfMonth Month dayOfWeek cmd

min Minute 0-59
hour Hour 0-23
dom DayOfMonth 1-31
mon Month 1-12

ด้วยเหตุผลทางด้านความปลอดภัย ยูสเซอร์แต่ละคนจึงมี cron ส่วนตัว 
ที่ตำแหน่ง /var/spool/cron/crontabs/user
เรียกด้วย ยูเซอร์เนมส์ ในตัวอย่าง user คือ hs1zfk

$ crontab -u hs1zfk crontab.new

คำสั่งให้แสดง cron table ให้พิมพ์คำสั่ง
$ crontab -l

แสดง cron table โดยระบุ user ให้พิมพ์คำสั่ง
$ crontab -u username -l

คำสั่งเพื่อแก้ไข cron table ให้พิมพ์คำสั่ง
$ crontab -e

การกำหนดเวลาทำงานของโปรแกรมให้ ทำการสร้าง ไฟล์ ในตัวอย่างชื่อ mycronjobs.txt

เครื่องหมาย * หมายถึง ทำทุกๆนาที, ทุกชั่วโมง....
เครื่องหมาย , หมายถึง ทำงานเป็นช่วง
เครื่องหมาย – หมายถึง ทำงาน กำหนดเวลาเป็นช่วง
ตัวอย่างเช่น
$ cat /home/hs1zfk/mycronjobs.txt

01 00 * * * /bin/sh /home/root/bin/QSO_rec.sh

จากนั้น upload ไปยัง cron table ด้วยคำสั่ง
$ crontab /home/hs1zfk/mycronjobs.txt


คอมพิวเตอร์ก็จะทำงานตามวงรอบที่กำหนดไว้ใน cron table เมื่อต้องการลบcron table ให้ใช้คำสั่ง
$ crontab -r

การใช้งาน มีรูปแบบ สั่ง ทำงาน ,สั่งหยุด ,สั่งrestart ดังนี้

$ sudo /etc/init.d/cron start

$ sudo /etc/init.d/cron stop

$ sudo/etc/init.d/cron restart

ขอบคุณ ภาพจาก เวป http://tecadmin.net/crontab-in-linux-with-20-examples-of-cron-schedule/

Monday, June 6, 2016

Broadband-Hamnet

 

 

โครงข่ายเน็ทเวอร์คของนักวิทยุสมัครเล่่น ในยามเกิดภัยพิบัติ Broadband-Hamnet รัศมีทำการ 10ไมล์ (16กม)  ไม่เหมาะกับการใช้เป็น wifi ส่วนตัวในบ้านนะ เพราะ SSID เป็นชื่อเดียวกันหมด ส่งผ่านข้อมูลได้เหมือนปรกติ เช่น IP Video, VOIP, LAN ใช้ความถี่ 802.11g ช่อง channel 1, ซึ่งเป็นส่วนหนึ่งของ แบนด์ 13cm


Broadband-Hamnet เป็นการสร้างเน็ทเวอร์ค โครงข่าย (เดิมชื่อโครงการ คือ HSMM-Mesh) มีลักษณะเด่นคือ ความเร็ว  high speed, มีความสามารถค้นหาเครือขาย วงเน็ทเวอร์ (self discovering) และความสามารถ self configuring




ความเร็วของการส่งสัญญาณเปรียบเทียบ
Broadband-Hamnet ประมาณ 54 Mbps
Packet Radio/APRS: 0.0012 Mbps
Pactor III: 0.003 Mbps
D-Star: 0.128 Mbps

อุปกรณ์ ที่ใช้คือ Linksys WRT54G/GL/GS แล้วนำมาแฟซ เฟิร์มแวร์ ของ Broadband-Hamnet ลงไป



 Linksys WRT54 มีหลายรุ่นก่อนซื้อต้องตรวจสอบก่อน ว่าเป็นรุ่นที่ แฟชเฟอร์แวร์ได้ไหม ตามลิสต์ ข้างล่างนี้
Model                Version
WRT54G          1.0 - 4.0
WRT54G          5.0 and up
WRT54GS        1.0 - 4.0
WRT54GS        5.0 and up
WRT54GL        1.0 - 1.1
โดยดูที่แถบด้านหลังเครื่อง


หากเปลี่ยนชนิดของ เสาอากาศจะส่งได้ถึง  16 กม. ใช้ไฟ DC 12V แบตตรี รถยนต์ 1 ลูกก็ใช้งานสนามได้ทั้งวันแล้ว  ถ้าในวงเน็ทเวอร์ค มีเครื่องใดเครื่องหนึ่งต่อเข้ากับ อินเตอร์เน็ท จะทำให้ทั้งวง เข้าถึงอินเตอร์เน็ทได้


อ่านรายละเอียดที่
http://www.hsmm-mesh.org/just-starting-read-this.html

ดาว์โหลด์ ที่ http://www.hsmm-mesh.org/software-download.html

วิธี ติดตั้ง http://www.hsmm-mesh.org/documentation/68-firmware-installation-instructions.html



Wednesday, June 1, 2016

FreeDV เล่น digital voice


FreeDV เล่น digital voice  
นักวิทยุสมัครเล่น ขั้น ต้น ใครทดสอบก็รับผิดชอบเองนะครับ แค่เล่าให้ฟัง

สัญญาณเสียง แบบ อานาลอก แปลง เป็น เสียงแบบ ดิจิตอล การเข้ารหัส เรียกว่า โค้ด (code) ส่วนการถอดรหัส เรียกว่า ดีโค้ค (decode) เรียกรวมกันว่า โค-เด็ซ (codec) 

นักวิทยุสมัครเล่น ในไทย ส่วนมากจะได้ยิน แต่ D-star ซึ่งเป็น codec ที่เป็น closed-source มีลิขสิทธิ์ ในขณะที่ FreeDV เป็น open source ภายใต้ GNU Public License V2.1
ในการใช้โปรแกรม FreeDV ต้องมี ซาวด์การ์ด 2ชุด ชุดแรกเป็นการแปลงเสียงพูดเป็นสัญญาณ ดิจิตอล ชุดที่สองเป็นชุดที่ต่อกับวิทยุสื่อสาร SSB 

โปรแกรมทีทั้ง เวอร์ชั่น windows 32 บิท , windows 64บิท ,Mac OSX, Linux ดาวโหลดที่ https://freedv.org/tiki-index.php มีรายละเอียดการใช้งานด้วย















มีคนลอง FreeDV บน VHF ได้ผล ลองอ่านรายละเอียด ที่ https://groups.google.com/forum/#!topic/digitalvoice/G2rEF3vgxAo