Belum lama ini, saya menempatkan di pengadilan umum perangkat desain saya sendiri, yang dikembangkan tahun lalu. Ini adalah radio internet menggunakan wifi.

Diusulkan untuk memilih atau menentang orang dalam rubel di salah satu situs crowdfunding. Perangkat itu tidak membuat percikan besar, meskipun sudah ada sponsor. Tetapi sejak itu ada banyak pertanyaan teknis dan permintaan untuk mengeluarkan sirkuit dan firmware. Semua orang yang tertarik dengan bagaimana perangkat itu dilahirkan, dan terbuat dari apa, selamat datang di bawah kucing.
Spoiler: tidak akan ada firmware.
Jadi, semuanya dimulai dengan kebutuhan untuk memiliki radio di rumah di dapur. Tentu saja, sebagai pengembang elektronik, saya langsung menolak opsi hanya pergi ke toko dan membeli. Ngomong-ngomong, untuk alasan ini, saya masih belum memiliki bel pintu normal.
Radio FM dijatuhkan karena implementasi yang membosankan. Dan diputuskan untuk membuat radio internet. Ke depan, saya ingin menunjukkan bahwa receiver seperti itu ada di sini.
Pemilihan besiPertama, perlu untuk memilih platform di mana Anda dapat membangun radio Internet. Ada banyak pilihan, tetapi saya memilih dari apa yang ada di tangan:
1.
Odroid W + LCD
2.
STM32F4DISCOVERY +
ESP8266 +
VS1053BPada odroid, proses pengembangan akan memakan waktu lebih sedikit, tetapi kontra, dalam kasus khusus saya (banyak yang tidak setuju dengan saya), menang:
- proses memuat OS membutuhkan waktu
- Kecenderungan yang berkembang untuk menginfeksi perangkat IoT dengan virus
- Saya memiliki pengetahuan yang buruk tentang pengembangan Linux
- harga
Namun demikian, saya meminta salah satu teman baik saya untuk menulis softink untuk Odroid W, yang akan dimulai pada awal sistem dan memutar radio Internet. Tetapi ketidakmampuan untuk mengedit proyek dengan benar tanpa menyentak kawan mengubur opsi ini, dan mendorong saya ke yang kedua.
Dan saya menyusun diagram berikut di papan tempat memotong roti:
Cara bekerja dengan radio internetSetelah itu, saya mulai menonton cara kerja radio Internet. Ternyata sebagian besar stasiun menggunakan
icecast untuk penyiaran. Ia berputar di suatu tempat di server dengan IP tetap, dan menunggu koneksi. Sebagai aturan, pada 8000 atau 8080 port. Meskipun ada banyak pengecualian. Setelah tersambung, Anda harus mengirim permintaan jenis ini, menggantikan nama aliran dan server ke dalamnya:
GET /stream HTTP/1.1 Icy-MetaData: 0 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413 Epiphany/1.2.1 Host: internetradioserver.ru Cache-Control: no-cache
Sebagai tanggapan, aliran mp3
tanpa akhir mulai turun, yang sudah dapat diterjemahkan dan dimainkan.
Membuka koneksi TCP dan kesenangan lain bekerja dengan ESP8266 dilakukan menggunakan perintah AT. Saya tidak akan memikirkannya, informasinya penuh di Internet. Semuanya dilukis dengan sangat baik di
komunitas berbahasa Rusia esp8266 . Prosedur untuk bekerja dengannya sederhana:
1. Kami sedang menunggu koneksi WiFi, jika tidak ada, pilih jaringan, masukkan kata sandi.
2. Kami membuka koneksi TCP dengan server stasiun radio. Alamat server, port dan nama aliran disimpan secara langsung dalam memori flash mikrokontroler, tetapi lebih pada nanti.
3. Kirim permintaan GET di atas.
4. Kami menerima sebagai tanggapan aliran mp3 berkelanjutan.
5. Jika Anda perlu mengganti stasiun, tutup koneksi TCP, dan ulangi dari langkah 2.
Saya akan memberi tahu Anda sedikit tentang bagaimana stasiun masuk ke memori flash mikrokontroler. Awalnya, pada tahap verifikasi, saya hanya menuliskan alamat, nomor port dan nama aliran di salah satu halaman memori program. Namun seiring waktu, ketika perangkat tersebar di antara kerabat dan teman, saya harus menambahkan kemampuan untuk memperbarui daftar secara terpusat. Diputuskan untuk membuat server dengan IP tetap, di mana file dengan daftar stasiun akan disimpan. Ketika terhubung melalui TCP, server menunggu kata sandi dan mengeluarkan file, dan mikrokontroler menuliskannya ke memori flash-nya. Sejak saya pertama kali menemukan penciptaan "sesuatu di Internet", saya terkejut bahwa ternyata menyewa mesin virtual dengan biaya IP tetap hanya 100 rubel sebulan. Keajaiban :)
SirkuitSetelah bermain cukup dengan STM32F4Discovery, saya memutuskan untuk membuat kartu saya sendiri, di mana semua elemen penerima akan ditemukan, dan saya tidak perlu menarik kabel ke display atau konektor. Ini sangat meningkatkan keandalan dan manufakturabilitas
dan semua orang memimpikannya .
Skema dapat diunduh di sini.
[DIAGRAM] . Saya tidak mendekorasi atau menyisirnya secara khusus untuk publikasi. Ini adalah opsi yang berfungsi, dan ini harus cukup bagi mereka yang benar-benar tertarik.
Skema ini terdiri dari bagian-bagian utama:
1. MK STM32F415 dengan harness - dua kuarsa dan baterai untuk jam waktu nyata.
2. ESP8266
3. VS1053 dengan strapping ketat pada lembar data. Dimulai pada MK melalui SPI.
4. Daya - dua regulator linier LM1117 pada 3,3 dan 1,8 volt.
5. Tampilan, konektor, tombol, potensiometer. Semua ini dilembagakan pada mikrokontroler GPIO.
Juga, amplifier D kelas
PAM8403 tidak ditampilkan pada diagram, karena harganya modul yang dibeli terpisah.
BiayaDemi kebaikan, sebelum membuat papan, Anda perlu menentukan lokasi elemen yang menonjol dari tubuh - tombol, konektor, tampilan. Jadi saya lakukan, tetapi tentang kasus ini nanti.
Papannya berubah seperti ini. Hati-hati geek stroberi!



Papan dua lapis, ketebalan 1,5 mm. Semua komponen smd terletak di satu sisi, yang memfasilitasi pemasangan otomatis. Namun, itu belum datang kepadanya.
Saya sudah dimarahi pada pikabu oleh beberapa ahli untuk kelemahan kecil di kabel. Namun, dewan bekerja, dan berfungsi sebagaimana mestinya. Saya tidak melihat nilai di gambar papan, jadi saya tidak mempostingnya. Jika ada permintaan, saya akan mempostingnya. Bagaimanapun, saya akan mengulanginya. Dan tentu saja, kritik yang beralasan sangat diterima!
PerumahanKasingnya adalah masalah bagi semua insinyur elektronik amatir. Dan bahkan jika Anda bukan seorang amatir, membuat kasus untuk uang Anda, Anda mengubahnya menjadi uang itu.
Dalam batch kecil, opsi yang paling terjangkau adalah penggilingan atau pemotongan laser. Dengan opsi logam, itu masih bisa menjadi lembaran logam lentur, tapi ini bukan kasus saya. Oleh karena itu, saya memilih penggilingan bagian kayu + pemotongan laser panel. Dari segi suara, kasing kayu juga merupakan nilai tambah yang besar.
Hasilnya adalah rangkaian bagian ini:

Perhatian khusus layak untuk prasasti. Setelah banyak berpikir, bagaimana menerapkannya, diputuskan untuk melakukannya dengan memasang grouting. Artinya, pertama, dengan gilingan tipis, prasasti dipilih pada panel, dan kemudian cat dituangkan di sana. Setelah cat mengering, kelebihannya dihilangkan. Operasi yang sangat mahal, tetapi saya tidak lagi berhenti. Selain itu, salah satu cara paling tahan lama. Jika seseorang memiliki pengalaman dengan cara lain menerapkan label, silakan bagikan.
Beginilah tampilan prasasti yang dihasilkan.

Dan inilah radio yang dirakit dari dalam:

Dan satu foto lagi di luar:

Kesimpulan Artikel ini menguraikan rincian pengembangan perangkat dengan sapuan lebar. Cukup sulit untuk menulis tentang perinciannya, di satu sisi oleh fakta bahwa laut mereka, di sisi lain, semuanya secara individual tampak jelas. Saya bisa menulis di artikel terpisah tentang sirkuit, papan sirkuit cetak, firmware, bekerja dengan esp8266 dan vs1053b, jika saya cukup tertarik saya akan menulis. Karena saya benar-benar ingin radio internet menjadi populer.