Raadiyaha internetka ee adiga kuu gaar ah

Qaar badan oo naga mid ah waxay jecel yihiin inay dhegaystaan ​​idaacadda subaxdii. Kadib subax qura ayaan ogaaday in aanan rabin in aan dhageysto idaacadaha FM-ta ee maxaliga ah. Ma xiisaynayo. Laakiin caadadii waxay noqotay mid waxyeello leh. Waxaanan go'aansaday inaan ku beddelo soo-qaadayaasha FM-ta oo aan ku beddelo qaataha Internet-ka. Waxaan si degdeg ah u iibsaday qaybo ka mid ah Aliexpress oo aan soo ururiyey qaataha Internetka.

Ku saabsan qaataha internetka. Wadnaha qaataha ayaa ah ESP32 microcontroller. Firmware ka KA-radio. Qaybaha ayaa igu kacay $12. Fududeynta isu imaatinka ayaa ii ogolaatay inaan ku soo ururiyo dhowr maalmood gudahood. Si fiican u shaqeeya oo deggan 10 bilood oo shaqo ah, waxay barafaysay dhawr jeer, ka dibna kaliya sababtoo ah tijaabooyinkayga. Interface ku habboon oo si fiican looga fikiray ayaa kuu ogolaanaysa inaad ka maamusho taleefanka casriga ah iyo kumbuyuutarka. Eray ahaan, kani waa qaataha Internet cajiib ah.

Wax walba waa OK. Laakiin subax hore ayaan gartay in inkasta oo aan heli karo tobanaan kun oo idaacadood, haddana ma jirin idaacado xiiso leh. Waxa aan aad uga cadhooday xayaysiisyada iyo kaftanka nacasnimada ah ee ay dadka soo jeedinayaan. Si joogta ah uga booda hal saldhig una guuro mid kale. Waxaan jeclahay Spotify iyo Yandex.Music Laakiin arrinta murugada leh ayaa ah in aysan ka shaqayn dalkayga. Oo waxaan jeclaan lahaa inaan iyaga ku dhegeysto aqbalaha internetka.

Waxaan xasuustay caruurnimadaydii. Waxaan haystay cajalad duube iyo laba darsin cajaladood. Asxaabtii ayaan cajalado is dhaafsaday. Waxayna ahayd cajiib. Waxaan go'aansaday in aan u baahdo in aan ku shubo kaydkayga maqalka ah oo keliya qaataha Internetka. Dabcan, waxaa jira ikhtiyaar ah in lagu xiro ciyaaryahan maqal ah ama iPod ku hadla oo ha ka welwelin. Laakiin tani maaha jidkeennu! Waan necbahay xiriiriyeyaasha isku xira)

Waxaan bilaabay raadinta xalal diyaarsan. Waxaa jira dalab suuqa ku yaal si aad u abuurto raadiyahaaga internetka ee Radio-Tochka.com. Waxaan tijaabiyey 5 maalmood. Wax walba si fiican ayey ula shaqeeyeen qaataha internetka. Laakiin qiimuhu imay soo jiidan. Waan diiday doorashadan.

Waxaan bixiyay 10 GB martigelinta. Waxaan go'aansaday in aan qoraal ku qoro shay sii dayn doona qulqulka maqalka ee faylalkayga mp3. Waxaan go'aansaday inaan ku qoro PHP. Degdeg ayaan u qoray oo bilaabay. Wax walba way shaqeeyeen. Waxay ahayd qabow! Laakin dhawr maalmood ka dib waxa aan warqad ka helay maamulka martida loo yahay. Waxay sheegtay in xadkii daqiiqadaha processor-ku uu dhaafay iyo baahida loo qabo in la cusboonaysiiyo oo la gaarsiiyo qiimo sare. Qoraalka waa in la tirtiro oo doorashadan la daayo.

Sidee ku dhacday? Ma noolaan karo raadiyo la'aanteed. Haddii aysan kuu oggolaan inaad ku socodsiiso qoraalka qof kale martigelintiisa, markaa waxaad u baahan tahay server-kaaga. Halkaas oo aan ku samayn doono waxay naftaydu rabto.

Waxaan haystaa shabakad qadiimi ah oo aan lahayn baytari (CPU - 900 MHz, RAM - 512 Mb). Odaygu waaba 11 jir. Ku habboon server-ka Waxaan ku rakibay Ubuntu 12.04. Kadibna waxaan rakibaa Apache2 iyo php 5.3, samba. Seerfarkayga waa diyaar

Waxaan go'aansaday inaan tijaabiyo Icecast. Maana badan baan ku akhriyey. Laakiin way igu adkaatay. Oo waxaan go'aansaday inaan ku laabto ikhtiyaarka qoraalka PHP. Dhowr maalmood ayaa lagu qaatay hagaajinta qoraalkan. Wax walbana si weyn ayey u shaqeeyeen. Kadibna waxaan sidoo kale qoray qoraal aan ku ciyaaro podcasts. Aad baan u jeclaa oo waxaan go'aansaday inaan sameeyo mashruuc yar. Waxaa loo yaqaan IWScast. Lagu dhajiyay github.

Raadiyaha internetka ee adiga kuu gaar ah

Wax walba waa mid aad u fudud. Waxaan koobiyeeyaa faylalka mp3 iyo faylka index.php galka xididka Apache /var/www/ waxaana loo ciyaaraa si aan kala sooc lahayn. Ilaa 300 oo hees ayaa ku filan qiyaastii maalinta oo dhan.
Faylka index.php waa qoraalka laftiisa. Qoraalku wuxuu u akhriyaa dhammaan magacyada faylalka MP3 ee buug-tusaha oo isku duba ridi kara. Wuxuu abuuraa qulqul maqal ah wuxuuna beddelaa magacyada faylasha MP3 Waxaa jira waqtiyo aad dhagaysato hees oo aad ka hesho. Yaad u malaynaysaa inuu heesayo? Kiiskan oo kale ah, waxaa jira duubista magacyada raadadka la dhageystay ee log.txt
Koodhka qoraalka oo dhammaystiran

<?php
set_time_limit(0);
header('Content-type: audio/mpeg');
header("Content-Transfer-Encoding: binary");
header("Pragma: no-cache");
header("icy-br: 128 ");
header("icy-name: your name");
header("icy-description: your description"); 
$files = glob("*.mp3");
shuffle($files); //Random on

for ($x=0; $x < count($files);) {
  $filePath =  $files[$x++];
  $bitrate = 128;
  $strContext=stream_context_create(
   array(
     'http'=>array(
       'method' =>'GET',
       'header' => 'Icy-MetaData: 1',
       'header' =>"Accept-language: enrn"
       )
     )
   );
//Save to log 
  $fl = $filePath; 
  $log = date('Y-m-d H:i:s') . ' Song - ' . $fl;
  file_put_contents('log.txt', $log . PHP_EOL, FILE_APPEND);
  $fpOrigin=fopen($filePath, 'rb', false, $strContext);
  while(!feof($fpOrigin)){
   $buffer=fread($fpOrigin, 4096);
   echo $buffer;
   flush();
 }
 fclose($fpOrigin);
}
?>

Haddii aad u baahan tahay in raadadka sida ay u kala horreeyaan loo ciyaaro, markaas waxaad u baahan tahay inaad faallo ka bixiso xariiqda index.php

shuffle($files); //Random on

Podcasts-ka waxaan u isticmaalaa /var/www/podcast/ Waxaa jira qoraal kale oo index.php ah. Waxay leedahay xifdinta raad-reebka. Marka xigta ee aad shido soo-dhowrka interneedka, waxaa la ciyaarayaa raadadka podcast-ka ee xiga. Waxa kale oo jira log of tracks ciyaaray.
Faylka counter.dat, waxaad ku qeexi kartaa lambarka raadraaca oo dib-u-ciyaarista podcast-ka ayaa ka bilaaban doonta.

Waxay u qoreen baarayaal si toos ah loo soo dejiyo podcasts. Waxay ka qaadaa 4-ta raad ee ugu dambeeyay RSS oo ay soo dejiso. Waxaas oo dhami waxay si fiican ugu shaqeeyaan taleefanka casriga ah, sanduuqa IPTV set-top, ama browserka dhexdiisa.

Subaxdii kale waxa ay igu soo dhacday in ay aad u wanaagsan tahay in la xasuusto booska dib-u-ciyaarista ee raadadka. Laakiin weli ma garanayo sida tan loogu sameeyo PHP.

Qoraalka waa la soo dejisan karaa github.com/iwsys/IWScast

Source: www.habr.com

Add a comment