INHOUDSOPGAWE:

HackerBox 0058: Kodeer: 7 stappe
HackerBox 0058: Kodeer: 7 stappe

Video: HackerBox 0058: Kodeer: 7 stappe

Video: HackerBox 0058: Kodeer: 7 stappe
Video: ОБМАНКА НАГРЕВАТЕЛЯ ДАТЧИКА КИСЛОРОДА | Ошибка P0036 . 2024, Julie
Anonim
HackerBox 0058: Kodeer
HackerBox 0058: Kodeer

Groete aan HackerBox Hackers regoor die wêreld! Met HackerBox 0058 ondersoek ons inligtingskodering, strepieskodes, QR -kodes, programmering van die Arduino Pro Micro, ingeboude LCD -skerms, integrasie van strepieskode -generering in Arduino -projekte, menslike invoertoestelle en meer.

HackerBoxes is die maandelikse intekenboksdiens vir liefhebbers van elektronika en rekenaartegnologie - Hardware Hackers - The Dreamers of Dreams.

Daar is 'n magdom inligting vir huidige en voornemende lede in die HackerBoxes FAQ. Byna al die nie-tegniese ondersteunings-e-posse wat ons ontvang, word reeds daar beantwoord, so ons waardeer dit baie as u 'n paar minute neem om die FAQ te lees.

Voorrade

Hierdie instruksie bevat inligting om mee te begin met HackerBox 0058. Die volledige inhoud van die boks word op die produkbladsy van HackerBox 0058 gelys, waar die boks ook te koop is terwyl die voorraad hou. As u elke maand outomaties so 'n HackerBox in u posbus wil ontvang met 'n afslag van $ 15, kan u inteken op HackerBoxes.com en by die revolusie aansluit!

'N Soldeerbout, soldeersel en basiese soldeergereedskap is oor die algemeen nodig om aan die maandelikse HackerBox te werk. 'N Rekenaar vir die gebruik van sagteware word ook benodig. Kyk na die HackerBox Deluxe Starter Workshop vir 'n stel basiese gereedskap en 'n wye verskeidenheid inleidende aktiwiteite en eksperimente.

Die belangrikste is dat jy 'n gevoel van avontuur, hackergees, geduld en nuuskierigheid nodig het. Bou en eksperimenteer met elektronika, hoewel dit baie lonend is, kan soms lastig, uitdagend en selfs frustrerend wees. Die doel is vooruitgang, nie volmaaktheid nie. As u volhard en die avontuur geniet, kan u baie tevredenheid put uit hierdie stokperdjie. Neem elke stap stadig, let op die besonderhede, en moenie bang wees om hulp te vra nie

Stap 1: Kodering

Kodering
Kodering

Om inligting te kommunikeer, op te neem of te manipuleer, vereis kodering. Aangesien verwerking, berging en kommunikasie van inligting die kern van moderne elektronika is, het ons baie kodering om oor bekommerd te wees.

As 'n baie eenvoudige voorbeeld van kodering kan 'n mens voorstel hoeveel oë of ore hulle het deur twee vingers op te hou, of deur die syfers "2" of "] [" te gebruik of die woorde "twee" of "dos" of " Er "of" zwei ". Nie eintlik so eenvoudig nie, reg? Kodering wat in mensetaal gebruik word, veral rakende onderwerpe soos emosies of abstraksie, kan baie kompleks word.

FISIKA

Ja, alles begin altyd met fisika. In elektroniese stelsels begin ons met die eenvoudigste waardes deur elektriese seine, gewoonlik spanningsvlakke. Byvoorbeeld, ZERO kan voorgestel word as grond (ongeveer 0V) en EEN as ongeveer 5V (of 3.3V, ens.) Om 'n binêre stelsel van nulle en ene te vorm. Selfs met net NUL en EEN, is daar dikwels onduidelikheid om op te los. As die knoppie ingedruk word, is dit NUL of EEN? HOOG of LAAG? Is die chip -kiessein "aktief hoog" of "aktief laag"? Hoe laat kan 'n sein gelees word en hoe lank sal dit geldig wees? In kommunikasiestelsels word hierna verwys as "lynkodering".

Op hierdie laagste vlak gaan die voorstellings grootliks oor die fisika van die stelsel. Watter spannings kan dit ondersteun, hoe vinnig kan dit oorgaan, hoe word die laser aangeskakel en afgeskakel, hoe moduleer inligtingseine 'n radiofrekwensie draer, wat is die bandwydte van die kanaal, of selfs hoe veroorsaak ioonkonsentrasies aksiepotensiale in 'n neuron. Vir elektronika word hierdie inligting dikwels verskaf in die imposante tabelle van die datablad van die vervaardiger.

Die fisiese laag (PHY) of laag 1 is die eerste en laagste laag in die sewe-laag OSI-model van rekenaarnetwerk. Die fisiese laag definieer die middele vir die oordrag van rou bisse oor 'n fisiese dataskakel wat netwerknodes verbind. Die fisiese laag bied 'n elektriese, meganiese en prosedurele koppelvlak aan die transmissiemedium. Die vorm en eienskappe van die elektriese verbindings, die frekwensies waarop u moet uitsaai, die lynkode wat u moet gebruik en soortgelyke lae-vlak parameters, word deur die fisiese laag gespesifiseer.

GETALLE

Ons kan nie veel doen met net EEN en NUL nie, anders sou ons ontwikkel het om te "praat" deur ons oë na mekaar te knip. Binêre waardes is egter 'n goeie begin. In rekenaar- en kommunikasiestelsels kombineer ons binêre syfers (bisse) in grepe en "woorde" wat byvoorbeeld 8, 16, 32 of 64 bis bevat.

Hoe stem hierdie binêre woorde ooreen met getalle of waardes? In 'n eenvoudige 8-bis-byte is 00000000 oor die algemeen nul en 11111111 is oor die algemeen 255 om 2-tot-die-8 of 256 verskillende waardes te verskaf. Dit stop natuurlik nie daar nie, want daar is baie meer as 256 getalle en nie alle getalle is positiewe heelgetalle nie. Selfs voor die berekening van stelsels, het ons numeriese waardes voorgestel deur verskillende getallestelsels, tale, basisse en tegnieke soos negatiewe getalle, denkbeeldige getalle, wetenskaplike notasie, wortels, verhoudings en logaritmiese skale van verskillende basisse te gebruik. Vir numeriese waardes in rekenaarstelsels moet ons probleme ondervind soos masjien epsilon, eindigheid, vaste punt en dryfpuntvoorstellings.

TEKS (CETERA)

Benewens die voorstelling van getalle of waardes, kan binêre grepe en woorde letters en ander tekssimbole voorstel. Die mees algemene vorm van tekskodering is American Standard Code for Information Interchange (ASCII). Natuurlik kan verskillende tipes inligting as teks gekodeer word: 'n boek, hierdie webblad, 'n XML -dokument.

In sommige gevalle, soos e -pos of Usenet -plasings, wil ons moontlik breër inligtingstipes (soos algemene binêre lêers) as teks kodeer. Die proses van uuenkodering is 'n algemene vorm van binêre-na-teks-kodering. U kan beelde selfs as teks "ASCII Art" of beter nog ANSI Art.

KODERINGSTEORIE

Koderingsteorie is die studie van die eienskappe van kodes en hul onderskeie geskiktheid vir spesifieke toepassings. Kodes word gebruik vir datakompressie, kriptografie, foutopsporing en -regstelling, data -oordrag en stoor van data. Kodes word deur verskillende wetenskaplike dissiplines bestudeer met die doel om doeltreffende en betroubare metodes vir data -oordrag te ontwerp. Voorbeelddissiplines sluit in inligtingsteorie, elektriese ingenieurswese, wiskunde, taalkunde en rekenaarwetenskap.

DATAKOMPRESSIE (verwydering van oortolligheid)

Datakompressie, bronkodering of bitsnelheidsvermindering is die proses van die kodering van inligting met minder bisse as die oorspronklike voorstelling. Enige spesifieke kompressie is verlore of verliesloos. Verlieslose kompressie verminder stukkies deur statistiese oortolligheid te identifiseer en uit te skakel. Geen inligting gaan verlore by verlieslose kompressie nie. Verlies kompressie verminder stukkies deur onnodige of minder belangrike inligting te verwyder.

Die kompressiemetodes van Lempel – Ziv (LZ) is een van die gewildste algoritmes vir verlieslose berging. In die middel van die 1980's, na werk van Terry Welch, het die Lempel-Ziv-Welch (LZW) -algoritme vinnig die gekose metode geword vir die meeste kompressiestelsels vir algemene doeleindes. LZW word gebruik in-g.webp

Ons gebruik voortdurend saamgeperste data vir DVD's, streaming MPEG -video, MP3 -klank, JPEG -grafika, ZIP -lêers, saamgeperste teerballetjies, ensovoorts.

Foutopsporing en korreksie (voeg nuttige oortolligheid by)

Foutopsporing en -regstelling of foutbeheer is tegnieke wat betroubare aflewering van digitale data oor onbetroubare kommunikasiekanale moontlik maak. Baie kommunikasiekanale is onderhewig aan kanaalgeraas, en daarom kan foute ontstaan tydens die oordrag van die bron na 'n ontvanger. Foutopsporing is die opsporing van foute wat veroorsaak word deur geraas of ander gestremdhede tydens die oordrag van die sender na die ontvanger. Foutregstelling is die opsporing van foute en heropbou van die oorspronklike, foutlose data.

Foutopsporing word eenvoudig uitgevoer met behulp van herhalings, pariteitsbits, kontrolesom of CRC's of hashfunksies. 'N Oortredingsfout kan opgespoor word (maar word gewoonlik nie reggestel nie) deur die ontvanger, wat dan heruitsending van die data kan versoek.

Foutkorrigerende kodes (ECC) word gebruik om foute in data oor onbetroubare of raserige kommunikasiekanale te beheer. Die sentrale idee is dat die sender die boodskap met oortollige inligting in die vorm van 'n ECC kodeer. Die oortolligheid stel die ontvanger in staat om 'n beperkte aantal foute op te spoor wat oral in die boodskap kan voorkom, en dikwels om hierdie foute reg te stel sonder heruitsending. 'N Eenvoudige voorbeeld van ECC is om elke databit 3 keer oor te dra, wat bekend staan as 'n (3, 1) herhalingskode. Alhoewel slegs 0, 0, 0 of 1, 1, 1 oorgedra word, kan foute binne die raserige kanaal enige van die agt moontlike waardes (drie bisse) aan die ontvanger voorhou. Hierdeur kan 'n fout in een van die drie monsters reggestel word deur 'meerderheidstem' of 'demokratiese stemming'. Die regstellende vermoë van hierdie ECC is dus die regstelling van 1 foutbit in elke drieling wat oorgedra word. Alhoewel dit eenvoudig is om te implementeer en wyd gebruik word, is hierdie drievoudige modulêre redundansie 'n relatief ondoeltreffende ECC. Beter ECC -kodes ondersoek gewoonlik die laaste paar tiene of selfs die laaste honderde stukkies wat voorheen ontvang is om te bepaal hoe om die huidige handjievol stukkies te dekodeer.

Byna alle tweedimensionele strepieskodes soos QR-kodes, PDF-417, MaxiCode, Datamatrix en Aztec-kode gebruik Reed-Solomon ECC om korrekte lees moontlik te maak, selfs al is 'n gedeelte van die strepieskode beskadig.

KRYPTOGRAFIE

Kriptografiese kodering is ontwerp rondom aannames oor berekeningshardheid. Sulke koderingsalgoritmes is doelbewus moeilik om (in praktiese sin) deur enige teëstander te breek. Dit is teoreties moontlik om so 'n stelsel te breek, maar dit is onhaalbaar om dit op enige bekende praktiese manier te doen. Hierdie skemas word dus berekeningsveilig genoem. Daar bestaan inligting-teoreties veilige skemas wat waarskynlik nie gebreek kan word nie, selfs met onbeperkte rekenaarkrag, soos die eenmalige pad, maar hierdie skemas is moeiliker om in die praktyk te gebruik as die beste teoreties breekbare, maar rekenaarmatig veilige meganismes.

Tradisionele kodering is gebaseer op 'n transponeringskode wat die volgorde van letters in 'n boodskap herrangskik (bv. 'Hallo wêreld' word 'ehlol owrdl' in 'n triviaal eenvoudige herrangskikking), en substitusiekodes, wat stelselmatig letters of groepe vervang letters met ander letters of groepe letters (bv. 'vlieg tegelyk' word 'gmz bu podf' deur elke letter te vervang met die letter wat daarop volg in die Latynse alfabet). Eenvoudige weergawes van beide het nog nooit baie vertroulikheid van ondernemende teenstanders gebied nie. 'N Vroeë vervangingskode was die Caesar -kode, waarin elke letter in die gewone teks vervang is met 'n letter, 'n vaste aantal posisies verder in die alfabet. ROT13 is a is 'n eenvoudige lettervervangingskode wat 'n letter vervang met die 13de letter daarna, in die alfabet. Dit is 'n spesiale geval van die Caesar -kode. Probeer dit hier!

Stap 2: QR -kodes

QR kodes
QR kodes

QR-kodes (wikipedia) of "Quick Response Codes" is 'n tipe matriks of tweedimensionele strepieskode wat eers in 1994 ontwerp is vir die motorbedryf in Japan. 'N Strepieskode is 'n masjienleesbare optiese etiket wat inligting bevat oor die item waaraan dit geheg is. In die praktyk bevat QR -kodes dikwels data vir 'n opspoor, identifiseerder of spoorsnyer wat na 'n webwerf of toepassing verwys. 'N QR -kode gebruik vier gestandaardiseerde koderingsmetodes (numeries, alfanumeries, byte/binêre en kanji) om data doeltreffend te stoor.

Die Quick Response -stelsel het gewild geword buite die motorbedryf vanweë die vinnige leesbaarheid en groter bergingskapasiteit in vergelyking met standaard UPC -strepieskodes. Toepassings sluit in produkopsporing, itemidentifikasie, tydopsporing, dokumentbestuur en algemene bemarking. 'N QR -kode bestaan uit swart vierkante wat in 'n vierkantige rooster op 'n wit agtergrond gerangskik is, wat deur 'n beeldapparaat soos 'n kamera gelees kan word, en verwerk kan word met behulp van Reed -Solomon -foutregstelling totdat die beeld op die regte manier geïnterpreteer kan word. Die vereiste data word dan onttrek uit patrone wat in beide horisontale en vertikale komponente van die beeld voorkom.

Moderne slimfone lees gewoonlik outomaties QR -kodes (en ander strepieskodes). Maak eenvoudig die kamera -app oop, rig die kamera op die strepieskode en wag 'n sekonde of twee totdat die kamera -app aandui dat dit op die strepieskode gesluit is. Die app sal soms die strepiesinhoud onmiddellik vertoon, maar gewoonlik benodig die app die kennisgewing van die strepieskode om die inligting wat uit die strepieskode verkry is, te vertoon. Gedurende Junie 2011 het 14 miljoen Amerikaanse mobiele gebruikers 'n QR -kode of 'n strepieskode geskandeer.

Het u u slimfoon gebruik om die boodskappe aan die buitekant van HackerBox 0058 te lees?

Interessante video: kan u 'n hele speletjie in 'n QR -kode inpas?

Ou tyders onthou moontlik die Cauzin Softstrip uit rekenaartydskrifte uit die 80's. (video demo)

Stap 3: Arduino Pro Micro 3.3V 8MHz

Arduino Pro Micro 3.3V 8MHz
Arduino Pro Micro 3.3V 8MHz

Die Arduino Pro Micro is gebaseer op die ATmega32U4 -mikrokontroleerder met 'n ingeboude USB -koppelvlak. Dit beteken dat daar geen FTDI, PL2303, CH340 of enige ander chip is wat as tussenganger tussen u rekenaar en die Arduino -mikrokontroleerder optree nie.

Ons stel voor dat u eers die Pro Micro toets, sonder om die penne vas te soldeer. U kan die basiese konfigurasie en toetsing uitvoer sonder om die koppenne te gebruik. Deur die soldering aan die module te vertraag, kan u ook een veranderlike minder ontfout as u probleme ondervind.

As u nie die Arduino IDE op u rekenaar geïnstalleer het nie, begin dan met die aflaai van die IDE -vorm arduino.cc. WAARSKUWING: Kies die 3.3V -weergawe onder gereedskap> verwerker voordat u die Pro Micro programmeer. As u hierdie stel vir 5V het, sal dit een keer werk, en dit lyk asof die toestel nooit met u rekenaar kan koppel nie, totdat u die instruksies "Reset to Bootloader" in die gids hieronder volg, wat 'n bietjie lastig kan wees.

Sparkfun het 'n uitstekende Pro Micro -aansluitingsgids. Die Aansluitingsgids het 'n gedetailleerde oorsig van die Pro Micro -bord en dan 'n gedeelte vir "Installering: Windows" en 'n gedeelte vir "Installering: Mac en Linux." Volg die aanwysings in die toepaslike weergawe van die installasie -instruksies om u Arduino IDE op te stel om die Pro Micro te ondersteun. Ons begin gewoonlik met 'n Arduino -bord werk deur die standaard Blink -skets te laai en/of aan te pas. Die Pro Micro bevat egter nie die gewone LED op pen 13. Gelukkig kan ons die RX/TX LED's beheer. Sparkfun het 'n netjiese skets gegee om aan te toon hoe. Dit is in die gedeelte van die Aansluitingsgids getiteld "Voorbeeld 1: Blinkies!" Verifieer dat u hierdie Blinkies kan saamstel en programmeer! voorbeeld op die Pro Micro voordat u vorentoe beweeg.

As alles blykbaar werk om die Pro Micro te programmeer, is dit tyd om die koppenne noukeurig aan die module te soldeer. Na die soldeer, toets die bord weer versigtig uit.

FYI: Danksy die geïntegreerde USB -ontvanger kan die Pro Micro maklik gebruik word om 'n menslike koppelvlak -toestel (HID) na te boots, soos 'n sleutelbord of muis, en speel met 'n toetsaanspuiting.

Stap 4: QR -kodes op volkleur LCD -skerm

QR -kodes op volkleur LCD -skerm
QR -kodes op volkleur LCD -skerm

Die LCD -skerm het 128 x 160 volkleurpixels en 'n diagonaal van 1,8 duim. Die ST7735S Driver Chip (datablad) kan van bykans enige mikrobeheerder met 'n Serial Peripheral Interface (SPI) -bus gekoppel word. Die koppelvlak is gespesifiseer vir 3.3V sein en kragtoevoer.

Die LCD -module kan direk aan die 3.3V Pro Micro gekoppel word met behulp van 7 FF Jumper Wires:

LCD ---- Pro Micro

GND ---- GND VCC ---- VCC SCL ---- 15 SDA ---- 16 RES ---- 9 DC ----- 8 CS ----- 10 BL ----- Geen verbinding nie

Met hierdie spesifieke penopdrag kan die biblioteekvoorbeelde standaard werk.

Die biblioteek genaamd "Adafruit ST7735 en ST7789" kan in die Arduino IDE gevind word met behulp van die menu Tools> Manage Libraries. Tydens die installering stel die biblioteekbestuurder 'n paar afhanklike biblioteke voor wat by die biblioteek pas. Laat dit ook toe om dit te installeer.

Sodra die biblioteek geïnstalleer is, maak u lêers> Voorbeelde> Adafruit ST7735 en ST7789 biblioteek> grafiese toets oop

Stel grafiese toets op en laai dit op. Dit sal 'n grafiese demo op die LCD -skerm genereer, maar met 'n paar rye en kolomme "raserige pixels" aan die rand van die skerm.

Hierdie "raserige pixels" kan reggestel word deur die TFT init -funksie wat naby die bokant van die opstelfunksie (leegte) gebruik word, te verander.

Lewer kommentaar op die reël kode:

tft.initR (INITR_BLACKTAB);

En los die reël 'n paar reëls onder:

tft.initR (INITR_GREENTAB);

Herprogrammeer die demo en alles moet mooi lyk.

Nou kan ons die LCD gebruik om QR -kodes te vertoon

Terug na die Arduino IDE -kieslys Gereedskap> Bestuur biblioteke.

Soek en installeer die biblioteek se QRCode.

Laai die QR_TFT.ino -skets hier af.

Stel QR_TFT op en programmeer dit in die ProMicro en kyk of u die kamera -app van u telefoon kan gebruik om die gegenereerde QR -kode op die LCD -skerm te lees.

Sommige projekte wat QR -kode genereer vir inspirasie

Toegangsbeheer

QR klok

Stap 5: Buigsame plat kabel

Buigsame plat kabel
Buigsame plat kabel

'N Buigsame plat kabel (FFC) is 'n verskeidenheid elektriese kabel wat plat en buigbaar is, met plat soliede geleiers. 'N FFC is 'n kabel wat gevorm word uit of soortgelyk aan 'n Flexible Printed Circuit (FPC). Die terme FPC en FFC word soms uitruilbaar gebruik. Hierdie terme verwys oor die algemeen na 'n uiters dun plat kabel wat gereeld voorkom in elektroniese toepassings met 'n hoë digtheid, soos skootrekenaars en selfone. Dit is 'n geminiaturiseerde vorm van lintkabel wat gewoonlik bestaan uit 'n plat en buigsame plastiekfilmbasis, met verskeie plat metaalgeleiers wat aan een oppervlak gebind is.

FFC's kom in 'n verskeidenheid speldpunte voor; 1,0 mm en 0,5 mm is twee algemene opsies. Die meegeleverde FPC -uitbreekbord het spore vir beide hierdie staanplekke, een aan elke kant van die PCB. Slegs een kant van die PCB word gebruik, afhangende van die gewenste toonhoogte, 0,5 mm in hierdie geval. Maak seker dat u die nommer van die koppen gebruik wat op dieselfde 0,5 mm kant van die printplaat gedruk is. Die nommer van die pen aan die 1.0 mm -kant stem nie ooreen nie en word vir 'n ander toepassing gebruik.

Die FFC -verbindings op beide die uitbreek en die strepieskodeskandeerder is ZIF -verbindings (zero insertion force). Dit beteken dat die ZIF -verbindings 'n meganiese skuifbalk het wat oopgemaak kan word voordat die FFC ingevoeg word en dan gesluit word om die aansluiting op die FFC vas te trek sonder om die kabel self in te sit en in te sit. Twee belangrike dinge om op te let oor hierdie ZIF -verbindings:

1. Hulle is albei 'onderste kontak', wat beteken dat die metaalkontakte op die FFC afwaarts moet wys (na die PCB) wanneer dit ingevoeg word.

2. Die skuifknoppie op die uitbreek is aan die voorkant van die aansluiting. Dit beteken dat die FFC onder/deur die skarnierskuif gaan. In teenstelling hiermee is die skarnier op die strepieskodeskandeerder aan die agterkant van die aansluiting. Dit beteken dat die FFC die ZIF -aansluiting vanaf die teenoorgestelde kant sal binnegaan en nie deur die skuifbalk nie.

Hou in gedagte dat ander soorte FFC/FPC ZIF -verbindings laterale skuifbakke het, in teenstelling met die skarniers wat ons hier het. In plaas daarvan om op en af te hang, gly syskyfies in en uit binne die vlak van die aansluiting. Kyk altyd mooi voordat u 'n nuwe tipe ZIF -aansluiting gebruik. Hulle is redelik klein en kan maklik beskadig word as hulle buite hul beoogde omvang of bewegingsvlak gedwing word.

Stap 6: strepieskodeskandeerder

Strepieskode skandeerder
Strepieskode skandeerder

Nadat die strepieskodeskandeerder en die FPC -uitbraak met die Flexible Flat Cable (FFC) verbind is, kan vyf vroulike springdrade gebruik word om die uitbreek -PCB aan die Arduino Pro Micro te koppel:

FPC ---- Pro Micro

3 ------ GND 2 ------ VCC 12 ----- 7 4 ------ 8 5 ------ 9

Sodra dit verbind is, programmeer u die sketch barscandemo.ino in die Pro Micro, maak die Serial Monitor oop en skandeer alles! Dit kan verbasend wees hoeveel voorwerpe in ons huise en kantore strepieskodes bevat. U ken miskien selfs iemand met 'n strepieskode -tatoeëring.

Die aangehegte strepieskodeskandeerderhandleiding bevat kodes wat geskandeer kan word om die verwerker wat in die skandeerder ingebed is, op te stel.

Stap 7: Hack the Planet

Hack die planeet
Hack die planeet

Ons hoop dat u hierdie maand se HackerBox -avontuur in elektronika en rekenaartegnologie geniet. Reik uit en deel u sukses in die kommentaar hieronder of op ander sosiale media. Onthou ook dat u altyd 'n e -pos aan [email protected] kan stuur as u 'n vraag het of hulp nodig het.

Wat is volgende? Sluit aan by die rewolusie. Leef die HackLife. Kry elke maand 'n koel boks met hackbare toerusting by u posbus afgelewer. Gaan na HackerBoxes.com en teken aan vir u maandelikse HackerBox -intekening.

Aanbeveel: