Apa yang terjadi ketika Anda mengirim SMS

Ini adalah artikel ketiga dalam loop dev stack penuh tentang kehidupan rahasia data. Ini didedikasikan untuk rute SMS yang panjang dan sulit: panggilan, penyimpanan, pengiriman, penerimaan dan tampilan. Saya akan menambahkan beberapa riwayat dan konteks untuk mencairkan daftar protokol. Meskipun teksnya cukup teknis, cukup mudah dimengerti.

Dua bagian pertama dari siklus:

  • Cetus , tentang penyebaran kesalahan pada nenek moyang spreadsheet abad ke-17
  • "Down the Rabbit Hole" , tentang pencarian yang sangat rumit untuk sumber satu set data

Jadi mari kita mulai ...

Kakiku tanpa sadar bergerak karena getaran: apakah itu telepon atau sepertinya? - dan pandangan sepintas menemukan lampu biru yang berkedip. "Aku mencintaimu" dari istriku. Saya langsung turun untuk mengucapkan selamat malam padanya, karena saya tahu perbedaan antara pesan dan pesan . Ini agak seperti enkripsi atau steganografi: siapa pun melihat teks, tetapi hanya saya yang bisa mendekode data yang disembunyikan.

Terjemahan saya hanyalah satu tautan dalam rangkaian peristiwa yang sangat panjang yang diperlukan untuk mengirim dan mendekripsi pesan (“turun dan ucapkan selamat malam”) dalam waktu kurang dari lima detik dengan jarak sekitar 10 meter.

Tampaknya, pesan tersebut berasal dari suatu tempat di otak istri saya dan berubah menjadi gerakan jari, tetapi transmisi sinyal ini adalah topik dari artikel lain. Percakapan kami dimulai dari saat ibu jarinya menyentuh layar transparan, dan berakhir ketika cahaya jatuh di retina saya.

Melalui kaca yang tampak


Dengan setiap sentuhan dari layar, muatan listrik kecil mengalir ke tangan. Karena arus mengalir dengan mudah melalui tubuh manusia, sensor pada ponsel merekam perubahan voltase di tempat jari menyentuh layar. Dalam hal ini, fluktuasi tegangan acak terjadi di bagian lain layar, sehingga algoritme menentukan fluktuasi tegangan maksimum dan mengasumsikan bahwa di tempat inilah orang tersebut ingin menekan dengan jarinya.


Fig. 0. Sensor sentuh kapasitif

Jadi, dia mengklik di layar, mengetik satu huruf sekaligus.

I--love--you.

Dia tidak menggunakan swipe (tapi untuk beberapa alasan dia masih mencetak lebih cepat dari saya). Ponsel andal mendaftarkan koordinat (x, y) dari setiap pers dan memeriksa koordinat masing-masing tombol pada layar. Itu lebih sulit daripada yang Anda pikirkan; kadang-kadang jari itu menjauh, tetapi entah bagaimana telepon mengerti bahwa ini bukan isyarat, tetapi hanya klik yang buram.

Jauh di dalam nyali logam perangkat, algoritma memeriksa bahwa setiap kali perubahan voltase mencakup lebih dari sejumlah piksel, yang disebut slop sentuh . Jika area ini kecil, ponsel akan mencatat keystroke, bukan swipe.


Fig. 1. Kode Android untuk mendeteksi slop sentuh. Harap perhatikan bahwa pengembang tahu jenis kelamin istri saya

Dia mengakhiri pesan, 10 karakter menyedihkan dari 160 diizinkan.

160 karakter adalah angka yang diverifikasi dengan cermat. Menurut legenda, pada tahun 1984 seorang insinyur telepon Jerman Friedhelm Hillebrand duduk di mesin tik dan menulis kalimat acak sebanyak yang terpikir olehnya. Kemudian timnya memeriksa kartu pos dan pesan teletype - dan menemukan bahwa kebanyakan dari mereka tidak melebihi 160 karakter. "Eureka!" - Rupanya, mereka berteriak dalam bahasa Jerman sebelum menetapkan batas karakter dalam pesan teks selama tiga dekade berikutnya.

Pembatasan simbol dan legenda


Legenda jarang menceritakan keseluruhan cerita, dan SMS tidak terkecuali. Hillebrand dan timnya berharap untuk mengirimkan pesan melalui saluran tambahan yang sudah digunakan telepon untuk bertukar informasi dengan stasiun pangkalan.

Sistem pensinyalan SS7 adalah seperangkat protokol yang digunakan oleh ponsel untuk tetap berhubungan konstan dengan stasiun pangkalan; mereka membutuhkan koneksi konstan untuk menerima panggilan dan mentransfer lokasi mereka, memeriksa voicemail, dll. Ketika mengembangkan protokol pada 1980, mereka memperkenalkan batas keras 279 byte informasi. Jika Hillebrand ingin menerima pesan teks menggunakan protokol SS7, ia harus menyesuaikan diri dengan batasan ini.

Biasanya 279 byte sama dengan 279 karakter. Ada 8 bit dalam satu byte, dan dalam pengkodean umum, satu karakter sesuai dengan satu byte.

A

0100 0001

B

0100 0010

Dengan

0100 0011

dan sebagainya.

Sayangnya, untuk mengirimkan pesan menggunakan protokol SS7, Anda tidak bisa begitu saja mengirim 2232 nol dan unit (279 byte dari 8 bit) dengan sinyal radio dari satu telepon ke yang lain. Pesan ini harus menyertakan nomor pengirim dan penerima, serta pesan layanan untuk stasiun pangkalan "Hei, pesan ini, bukan panggilan, jangan kirim sinyal panggilan!"

Pada saat Hillebrand dan rekannya berhasil menjejalkan semua bit konteks yang diperlukan ke dalam sinyal 279-byte, mereka hanya memiliki 140 byte atau 1120 bit yang tersisa.

Tetapi bagaimana jika Anda menyandikan karakter hanya dalam 7 bit? Kemudian Anda dapat memeras 160 (1120/7 = 160) karakter ke dalam setiap pesan, tetapi pengurangan seperti itu membutuhkan pengorbanan: lebih sedikit karakter yang mungkin.

Pengkodean delapan-bit memungkinkan 256 karakter yang mungkin: satu tempat huruf kecil 'a', satu huruf besar 'A', tempatnya di ruang dan simbol '@', garis putus dan seterusnya, hingga 256. Untuk mempersempit alfabet menjadi tujuh bit, Anda harus menghapus beberapa simbol: simbol 1/2 (½), simbol derajat (°), simbol pi (π) dan sebagainya. Tetapi dengan asumsi bahwa orang tidak pernah menggunakan karakter ini dalam teks (asumsi yang buruk, tentu saja), Gillebrand dan rekannya berhasil menempatkan 160 karakter dalam 140 byte. Pada gilirannya, volume ini persis sesuai dengan 279 byte dari sinyal SS7: persis jumlah karakter yang sebelumnya didefinisikan sebagai panjang pesan ideal.


Fig. 2. Kumpulan karakter GSM-7

Dan kemudian istri mengetik "I love you", dan telepon mengubah huruf menjadi skema pengkodean 7-bit yang disebut GSM-7.

"I" (persimpangan kolom keempat dan baris kesembilan dalam tabel):

49

Spasi (persimpangan kolom kedua dan baris nol):

20

“L” =

6C

“O” =

6F

dan seterusnya.

Secara umum, pesannya berubah menjadi urutan berikut:

49 20 6C 6F 76 65 20 79 6F 75

(Total 10 byte). Setiap kode dua karakter, yang disebut kode heksadesimal (hex), mewakili satu fragmen delapan bit, dan bersama-sama itu terdengar seperti "Aku mencintaimu."

Namun faktanya, pesannya tidak begitu tersimpan di ponsel. Seharusnya mengkonversi teks 8-bit ke kode 7-bit. Sebagai hasil dari konversi, pesan mulai berubah menjadi ini:

49 10 FB 6D 2F 83 F2 EF 3A

(9 byte) di teleponnya.

Ketika istri akhirnya menyelesaikan pesannya (hanya perlu beberapa detik), dia mengklik "Kirim" - dan banyak malaikat kecil menerima pesan yang disandikan, mengepakkan sayap mereka yang tak terlihat 10 meter ke kantor saya dan dengan hati-hati mentransfernya ke telepon saya. Prosesnya tidak mudah, itulah sebabnya ponsel saya bergetar sedikit pada pengiriman.

Yang disebut "insinyur komunikasi" akan menceritakan kisah yang berbeda kepada Anda, dan demi kelengkapan, saya akan menceritakannya kembali, tetapi jika saya adalah Anda, saya tidak akan terlalu mempercayai orang-orang ini.

SIM untuk Kirim


Insinyur akan mengatakan bahwa ketika ponsel merasakan perubahan tegangan pada koordinat di layar yang bertepatan dengan koordinat elemen grafis dengan tombol "Kirim", ia mengirim pesan yang disandikan ke kartu SIM, dan menambahkan berbagai data kontekstual selama transfer. Ketika pesan mencapai kartu SIM istri saya, maka sudah tidak ada 140, tetapi 176 byte (teks + konteks).

36 byte tambahan digunakan untuk menyandikan informasi lain, seperti yang ditunjukkan di bawah ini.


Fig. 3. Di sini, byte disebut oktet (8 bit). Menghitung semua menghasilkan 174 oktet (10 + 1 + 1 + 12 + 1 + 1 + 7 + 1 + 140). Dua byte sisanya dicadangkan untuk kartu SIM akunting

Sepuluh byte pertama dicadangkan untuk nomor telepon (SCA) dari pusat SMS (SMSC), yang bertanggung jawab untuk menerima, menyimpan, meneruskan dan mengirim pesan teks. Faktanya, ini adalah sakelar: telepon istri mengirimkan sinyal ke menara sel lokal, yang mengirim pesan teks ke SMSC. Pusat SMS, yang dalam kasus kami dikendalikan oleh AT&T, mengirimkan teks ke stasiun pangkalan yang terdekat dengan ponsel saya. Ketika saya duduk di tiga kamar dari istri saya, pesan dikembalikan ke stasiun pangkalan yang sama, dan kemudian ke telepon saya.


Fig. 4. Jaringan SMS seluler

Byte berikutnya (tipe PDU) menyandikan informasi dasar tentang bagaimana telepon harus menginterpretasikan pesan: apakah pesan itu berhasil dikirim, apakah pesan pengiriman diperlukan dan (penting) apakah itu teks tunggal atau bagian dari rangkaian pesan terkait.

Byte setelah tipe PDU adalah referensi pesan (MR). Nomor ini dari 1 hingga 255, pada kenyataannya, digunakan sebagai ID jangka pendek sehingga telepon dan operator mengenali pesan. Pesan dari istri diatur ke angka 0, karena teleponnya memiliki sistem identifikasi pesan sendiri, terlepas dari file khusus ini.

Dua belas byte berikutnya dicadangkan untuk nomor telepon penerima, yang disebut alamat tujuan (DA). Dengan pengecualian pengodean teks 7-bit, yang membantu memeras 160 huruf menjadi 140 karakter, pengodean nomor telepon adalah hal yang paling bodoh dan membingungkan dalam SMS ini. Ini disebut notasi menggigit terbalik dan mengubah setiap digit menjadi menggigit, yaitu, menggigit, dan menukar mereka (Apakah Anda mengerti segalanya? Setengah byte adalah menggigit, hahahahaha, tapi tidak ada yang tertawa, itu insinyur).

Nomor 1-352-537-8376 saya di telepon istri saya terdaftar sebagai:

3125358773f6

1-3 berubah menjadi

31

52 berubah menjadi

25

53 berubah menjadi

35

7-8 berubah menjadi

87

37 berubah menjadi

73

Dan 6 terakhir berubah menjadi ...

f6

Apa yang enam ini ambil? Ya, itu berarti akhir dari angka, tetapi untuk beberapa alasan yang mengerikan (sekali lagi, notasi terbalik) itu adalah satu karakter sebelum digit terakhir.

Ini seperti "piggy Latin," hanya untuk angka.

, . , .

Tapi aku tidak bercanda.

[UPD: Sean Gies menunjukkan bahwa menulis kembali menggigit adalah artefak yang tak terelakkan untuk mewakili angka 4-bit dari yang terkecil hingga yang paling kecil (sedikit-endian) 8-bit Ini tidak meniadakan deskripsi di atas, tetapi menambahkan beberapa konteks bagi mereka yang memahami dan membuat keputusan lebih masuk akal].

Byte pengidentifikasi protokol (PID) sekarang, pada umumnya, terbuang. Dibutuhkan sekitar 40 nilai yang mungkin dan memberi tahu penyedia cara mengirim pesan. Nilai

22

berarti bahwa istri mengirimkan "Aku mencintaimu" ke faks, dan nilainya

24

berarti dia entah bagaimana mengirimkannya ke saluran suara. Karena pesan ini dalam bentuk SMS ke telepon, PID diatur ke

0

(Seperti teks lain yang dikirim di dunia modern).


Fig. 5. Kemungkinan Nilai PID

Byte berikutnya adalah skema pengkodean data (DCS, lihat dokumentasi ), yang memberi tahu operator dan telepon penerima tentang skema pengkodean karakter yang digunakan. Istri saya mengirim teks ke GSM-7, tetapi mudah untuk membayangkan bahwa teks dapat diketik dalam Cyrillic, hieroglyphs, atau persamaan matematika yang kompleks (well, mungkin itu tidak mudah untuk dibayangkan, tetapi semua orang memiliki hak untuk bermimpi, kan?).

Dalam teks istri, byte DCS diatur ke

0

yang sesuai dengan alfabet 7-bit, tetapi nilainya dapat diubah menjadi alfabet 8- atau 16-bit, meskipun ini akan menyisakan ruang yang jauh lebih sedikit untuk karakter. Omong-omong, itu sebabnya emoji Anda mengurangi jumlah karakter yang tersedia.

Masih ada bendera kecil di byte DCS yang memberi tahu ponsel apakah pesan harus dihancurkan sendiri setelah dikirim, seperti dalam film Mission Impossible, jadi ini sangat keren.

Masa berlaku (VP) membutuhkan hingga tujuh byte dan memberi kita kesempatan untuk berkenalan dengan aspek lain tentang bagaimana sebenarnya sistem penerusan SMS bekerja. Lihatlah Gambar 4 di atas. Tidak apa-apa, saya akan menunggu.

Jadi, ketika istri akhirnya mengklik tombol "Kirim", teks dikirim ke pusat SMS (SMSC), yang kemudian mengirim pesan kepada saya. Saya duduk di lantai dua dan telepon saya menyala, jadi saya mendapatkan pesan dalam beberapa detik, tetapi bagaimana jika telepon mati? Tentu saja, maka dia tidak dapat menerima pesan, jadi SMSC harus melakukan sesuatu dengan teks.

Jika SMSC tidak dapat menemukan telepon saya, maka pesan dari istri saya hanya akan masuk ke sistem sampai telepon saya terhubung - dan kemudian pusat SMS akan segera mengirim teks. Saya suka membayangkan bagaimana SMSC terus-menerus memeriksa setiap telepon di jaringan untuk memeriksa apakah itu telepon saya atau tidak: bagaimana anak anjing menunggu pemilik di pintu mengendus setiap orang yang lewat: apakah itu bau orang saya? Tidak. Mungkin ini bau laki-laki saya? Tidak. Apakah itu bau lelaki saya? DADAPRIGUATURE !!!

Bytes periode validitas (VP) memberi tahu sistem berapa lama anak anjing akan menunggu sebelum ia bosan dan menemukan rumah baru. Ini adalah cap waktu atau celah, dan pada dasarnya berbunyi, "Jika Anda tidak menemukan telepon penerima dalam beberapa hari mendatang, jangan khawatir tentang mengirim pesan." Secara default, masa berlaku SMS adalah 10.080 menit, jadi jika ponsel tidak terhubung ke jaringan dalam waktu tujuh hari, ia tidak akan pernah menerima SMS ini.

Karena SMS sering memiliki banyak ruang kosong, beberapa bit didedikasikan untuk memastikan bahwa ponsel dan operator tahu persis byte mana yang tidak digunakan. Kartu SIM isteri sedang menunggu SMS 176-byte, tetapi dia menulis pesan yang sangat singkat, jadi jika kartu SIM hanya menerima 45 byte, maka mungkin akan membingungkan dan menyarankan beberapa jenis kegagalan. User Data Length Byte (UDL) memecahkan masalah ini: itu secara akurat menunjukkan berapa banyak byte dalam pesan teks.

Dalam kasus "I love you," UDL akan menunjukkan bahwa pesan tersebut mengandung 9 byte. Anda mungkin mengharapkan nilainya menjadi 10 byte, satu byte untuk masing-masing dari sepuluh karakter:

I-spacebar-love-spacebar-you

tetapi karena setiap karakter terdiri dari tujuh bit, bukan delapan (byte penuh), Anda dapat membuang byte tambahan saat menerjemahkan: 7 bit * 10 karakter = 70 bit, bagi dengan 8 (jumlah bit dalam satu byte) = 8,75 byte, dibulatkan hingga 9 byte.

Kami sampai pada bagian terakhir dari SMS: ini adalah pesan itu sendiri atau UD (data pengguna). Sebuah pesan dapat memakan waktu hingga 140 byte, meskipun, seperti yang baru saja saya sebutkan, "I love you" akan mengambil kesengsaraan 9. Sungguh menakjubkan betapa banyak yang dikemas ke dalam 9 byte ini: bukan hanya pesan (dugaan cinta istri saya untuk saya, yang sudah cukup sulit untuk dikompres ke nol) dan unit), tetapi juga artinya sendiri (Anda harus turun dan mengucapkan selamat malam). Bytes ini adalah:

49 10 FB 6D 2F 83 F2 EF 3A

Secara umum, pesan ini disimpan di kartu SIM istri saya:

SCA [1-10] -PDU [1] -MR [1] -DA [1-12] -DCS [1] -VP [0, 1, atau 7] -UDL [1] -UD [0-140]

00 - 11 - 00 - 07 31 25 35 87 73 F6 - ?? 00 ?? - ?? - 09 - 49 10 FB 6D 2F 83 F2 EF 3A

(Catatan: untuk mendapatkan pesan lengkap, Anda perlu menggali lebih banyak. Sayangnya, hanya sebagian pesan yang dapat dilihat di sini karena karakter yang tidak ditampilkan, tanda tanya)

Gelombang di udara


Sekarang SMS entah bagaimana harus memulai perjalanannya yang sulit dari kartu SIM ke stasiun pangkalan terdekat. Untuk melakukan ini, telepon istri harus mengubah string dari 176 menjadi 279 byte untuk protokol pensinyalan SS7, mengubah byte digital ini menjadi sinyal radio analog, dan kemudian mengirim sinyal ke udara dengan frekuensi di suatu tempat antara 800 dan 2000 MHz. Ini berarti bahwa di antara puncak gelombang jaraknya adalah dari 15 hingga 37 cm.


Fig. 6. Panjang gelombang

Untuk transmisi dan penerimaan sinyal yang efisien, antena harus setidaknya setengah panjang gelombang. Jika gelombang komunikasi seluler dari 15 hingga 37 cm, maka antena harus memiliki ukuran sekitar 7-19 cm. Sekarang berhenti dan pikirkan tentang tinggi rata-rata ponsel, dan mengapa ia tidak pernah berkurang.

Melalui senam digital tertentu, penjelasan yang akan memakan waktu terlalu lama, ponsel istri saya tiba-tiba menembakkan paket informasi 279-byte dengan teks "Aku mencintaimu" dengan kecepatan cahaya ke segala arah, yang akhirnya memudar dan larut menjadi suara radio setelah sekitar 50 kilometer.

Jauh sebelum ini, sinyal mengenai base station AT&T HSPA ID199694204 LAC21767. Base transceiver station (BTS) ini berjarak sekitar lima blok dari toko roti La Gourmandine favorit saya di Hazelwood, dan meskipun saya menemukan koordinatnya menggunakan aplikasi OpenSignal Android, antena tersembunyi dengan baik dari mata yang mengintip.

Hal yang paling mengejutkan di sini adalah bahwa BTS umumnya menerima sinyal ini, mengingat yang lainnya. Istri saya tidak hanya mengirim "Love You" di bagian seperseribu dari rentang spektrum elektromagnetik, tetapi puluhan ribu orang lain dalam radius 50 kilometer saat ini sedang berbicara di telepon atau menulis pesan. Selain itu, banyak sinyal radio dan televisi memperdebatkan perhatian kita pada udara, bersama dengan cahaya tampak yang dipantulkan ke arah yang berbeda, ini hanya sebagian kecil dari gelombang elektromagnetik, yang, tampaknya, seharusnya mengganggu BTS.

Seperti yang dikatakan oleh Richard Feynman pada tahun 1983, menara sel seperti kumbang buta kecil yang tergeletak di air di tepi kolam: hanya dengan ketinggian dan arah ombak yang menentukan siapa dan di mana berenang.


Feynman membahas ombak

Sebagian karena gangguan sinyal yang kompleks, setiap stasiun pangkalan transceiver biasanya tidak dapat memproses lebih dari 200 pengguna aktif (suara atau data) pada saat yang sama. Jadi, "Love You" mengirim stasiun pangkalan lokal sekitar setengah mil dari sini, dan kemudian berteriak ke dalam kehampaan di segala arah hingga menghilang ke kebisingan umum.

Pergantian


Mengingat semua keadaan, saya sangat beruntung. Jika istri saya dan saya dilayani oleh operator seluler yang berbeda atau berada di kota yang berbeda, rute komunikasinya akan menjadi lebih lama.

Pesan 277-byte SS7 tiba di BTS lokal di sebelah toko roti. Dari sana ia memasuki base station controller (BSC), yang merupakan otak tidak hanya milik kita, tetapi juga beberapa antena lokal lainnya. BSC mentransfer teks ke Pittsburgh AT&T Mobile Switching Center (MSC), yang bergantung pada pesan teks SCA (ingat alamat pusat layanan yang tertanam dalam setiap SMS? Apakah ini yang Anda perlukan) untuk menerima pesan di pusat SMS (SMSC) yang sesuai.

Omong kosong ini lebih mudah dipahami menggunakan diagram pada Gambar 7; Saya baru saja menjelaskan langkah 1 dan 3. Jika istri bersama operator lain, kami akan melanjutkan ke langkah 4-7, karena di situlah operator seluler berbicara satu sama lain. SMS harus berasal dari SMSC ke sakelar global dan kemudian berpotensi melompati dunia sebelum menemukan jalan ke telepon saya.


Fig. 7. Perutean GSM

Tapi dia juga duduk di AT&T, dan ponsel kami terhubung ke sel yang sama, jadi setelah langkah ketiga, paket cinta 279-byte hanya dikerahkan dan dikembalikan melalui pusat SMS yang sama, melalui stasiun pangkalan yang sama, tetapi sekarang ke telepon saya sebagai gantinya dia. Bepergian beberapa puluh kilometer dalam waktu singkat.

Dikirim ke sim


Bzzzzz. Saku bergetar. Pemberitahuan tersebut memperjelas bahwa SMS tiba pada kartu nano-SIM, sebuah chip kecil seukuran jari kelingking. Seperti Bilbo Baggins atau petualang yang baik, itu telah sedikit berubah dalam perjalanan ke sana dan kembali.


Fig. 8. Pesan yang diterima berbeda dari yang terkirim (Gbr. 3)

Gambar 8 menunjukkan struktur pesan yang diterima "Aku mencintaimu". Membandingkan Gambar 3 dan 8, kita melihat beberapa perbedaan. SCA (nomor pusat SMS), PDU (beberapa merapikan mekanik), PID ("dari telepon ke telepon", bukan "telepon ke faks"), DCS (skema penyandian), UDL (panjang pesan) dan UD (sendiri) pesan) tetap tidak berubah, tetapi VP (masa berlaku), MR (nomor identifikasi pesan) dan DA (nomor telepon saya) tidak ada.

Sebaliknya, dua blok informasi baru muncul di telepon: OA (nomor telepon asli istri) dan SCTS (cap waktu pusat SMS. Yaitu, ketika istri mengirim pesan).

Nomor telepon istri saya disimpan dalam notasi terbalik yang sama dan menjengkelkan (seperti disleksia, hanya di komputer), di mana nomor saya disimpan di teleponnya, dan stempel waktu dalam format yang sama dengan tanggal kedaluwarsa yang disimpan di teleponnya.

Kedua penggantian ini sepenuhnya logis. Ponselnya seharusnya menghubungi saya pada waktu tertentu di alamat tertentu, dan sekarang saya perlu tahu siapa yang mengirim pesan dan kapan. Tanpa alamat pengirim, saya tidak akan mengerti persis siapa yang mengirim pesan ini, sehingga interpretasinya bisa sangat berubah.

Cahaya layar cerah


Saat komputer mana pun menerjemahkan aliran byte ke serangkaian koordinat (x, y) untuk piksel warna tertentu, ponsel menerima perintah untuk ditampilkan

49 10 FB 6D 2F 83 F2 EF 3A

sehingga saya melihat teks "I Love You" di layar dalam titik-titik bercahaya hitam dan putih. Ini adalah proses yang menarik, tetapi ini tidak terlalu unik untuk smartphone, jadi Anda harus mencari di tempat lain. Kami fokus pada bagaimana instruksi ini berubah menjadi titik ringan.

Pemasar yang ramah di Samsung menyebut layar saya Super AMOLED (Active Matrix Organic Light-Emitting Diode) - matriks aktif pada LED organik, yang entah bagaimana mubazir dan tidak terlalu informatif, jadi abaikan dekripsi singkatan sebagai gangguan lain dan langsung terjun ke dalam teknologi.

Pada masing-masing 83 sentimeter persegi layar, sekitar 50.000 piksel kecil muat di ponsel saya. Agar sesuai dengan jumlah tersebut, setiap piksel harus memiliki lebar sekitar 45 mikron (mikrometer): lebih tipis dari rambut manusia. Empat juta elemen cahaya di area seukuran telapak tangan.

Tapi Anda sudah tahu cara kerja layar. Anda tahu bahwa setiap titik di dunia, seperti Dewa Kristen atau musketeer (minus d'Artagnan) selalu "tiga dalam satu". Merah, hijau, dan biru membentuk cahaya putih satu piksel. Jika Anda mengubah kecerahan setiap saluran, maka Anda bisa mendapatkan warna RGB. Dan karena 4 × 3 = 12, ini adalah 12 juta sumber cahaya kecil, dengan polos tertidur di balik cermin hitam saya, menunggu saya untuk menekan tombol power untuk membaca pesan dari istri saya.


Fig. 9. Array subpixel dari Samsung OLED-display

Sebagai berikut dari singkatan, setiap pixel adalah LED organik. Ini adalah jargon teknis yang tidak dapat dipahami untuk sandwich listrik sederhana:


Gbr. 10. Sandwich listrik Tidak

perlu mempelajari tujuan dari setiap lapisan, hanya penting untuk mengetahui bahwa katoda (pelat bermuatan negatif) terletak di bawah lapisan molekul organik (hanya beberapa molekul dengan karbon), dan ditutupi dengan anoda (piring bermuatan positif) di atas.

Ketika telepon ingin menghidupkan layar, ia mengirim elektron dari katoda ke anoda. Molekul di tengah menerima muatan dan mulai memancarkan cahaya tampak - foton, naik melalui anoda transparan, layar ke mata terbuka saya.

Karena setiap piksel adalah tiga titik cahaya (merah, hijau, dan biru), sebenarnya ada tiga sandwich per piksel. Mereka semua pada dasarnya sama, dengan pengecualian molekul organik: poli-para-fenilena untuk cahaya biru, polietiofen untuk merah dan poli-para-fenilena-vinilena untuk hijau. Karena masing-masing dari mereka sedikit berbeda, mereka bersinar dalam warna yang berbeda ketika melewati arus.

(Fakta menyenangkan: subpiksel biru terbakar lebih cepat karena proses yang disebut pemusnahan exciton polaron, yang terdengar sangat menarik, bukan?)

Keempat juta piksel terletak pada matriks indeks. Indeks berfungsi pada komputer dengan cara yang sama seperti daftar isi dalam sebuah buku: ketika telepon menginginkan piksel tertentu untuk memancarkan warna tertentu, indeks akan mencari piksel itu dalam indeks dan kemudian mengirim sinyal ke alamat yang ditemukan. Biarkan ada terang, dan cahaya menjadi.

(Fakta lucu lainnya: sekarang Anda tahu apa artinya "matriks aktif pada LED organik" artinya AMOLED, meskipun Anda tidak bertanya).

Sistem operasi telepon mengartikan pesan teks dari istrinya, menentukan bentuk setiap huruf dan membandingkan angka-angka ini dengan matriks indeks. Dia mengirimkan impuls listrik yang tepat ke layar Super AMOLED untuk menampilkan tiga kata kecil yang telah melakukan perjalanan sejauh ini dan mengalahkan semua musuh di jalur mereka.

Sangat aneh di sini bahwa mata saya tidak pernah melihat huruf dalam cahaya terang dari LED: teks muncul dalam warna hitam dan putih. Ponsel ini menciptakan ilusi teks melalui ruang negatif, mengisi layar dengan warna putih, mengatur semua piksel merah, hijau dan biru untuk kecerahan maksimum, dan kemudian mematikan yang mana huruf-huruf seharusnya. Kompleksitasnya biasa-biasa saja.


Fig. 11. Ruang negatif

Menyalakan segala sesuatu kecuali pesan teks dari istri saya dan memungkinkan saya membaca di antara cahaya, telepon sebentar meletakkan kebohongan yang mendasari era informasi modern: bahwa komunikasi itu mudah . Kecepatan dan kesederhanaan yang tampak menyembunyikan banyak perantara.

Dan ini bukan hanya perantara teknis. Sebuah pesan dari istri saya tidak akan menghubungi saya jika saya tidak membayar tagihan telepon saya tepat waktu, jika itu bukan untuk pasukan kecil pekerja yang melayani sistem keuangan di belakang layar. Teknisi menjaga menara sel operasional, yang mereka dapatkan melalui jaringan jalan sebagian disubsidi oleh pajak federal yang dikumpulkan dari ratusan juta orang Amerika di 50 negara. Karena banyak transaksi masih terjadi melalui surat, jika sistem surat macet besok, layanan telepon juga akan terluka. Rincian kedua telepon kami dikumpulkan oleh pekerja yang kelelahan di pabrik-pabrik di Amerika Selatan dan Asia, dan para programmer yang kelelahan yang menyewa kamar mahal di Lembah Silikon menulis kode yang menjamin komunikasi yang konstan untuk telepon kami.

Semua ini disembunyikan dalam 10 huruf. Teks, yang, sejujurnya, berarti lebih dari apa yang tertulis di dalamnya. Otak saya secara tidak sadar menganalisis tahun-tahun komunikasi dengan istri saya untuk mendekripsi pesan di telepon, tetapi antara dia dan saya masih ada banyak mediasi sosioteknik - sebuah kaldu orang, peristiwa dan detail yang tidak pernah dapat diurai.

Konsekuensinya


Dan di sinilah saya, di kantor saya, pada hari Minggu malam. "Aku mencintaimu," sang istri menulis dari kamar tidur di bawah, dan setelah beberapa detik sebuah pesan datang ke teleponku sepuluh meter jauhnya. Saya mengerti apa artinya itu: sudah waktunya untuk mengucapkan selamat malam dan mungkin menyelesaikan artikel ini. Saya sedang menulis kata-kata terakhir, sekarang sedikit lebih sadar akan pelapisan kilometer yang rumit, sinyal, dekade sejarah dan keringat manusia, yang diperlukan agar istri saya tidak berteriak kepada saya bahwa sialan sudah waktunya untuk beristirahat.

Source: https://habr.com/ru/post/id437510/


All Articles