Python en bibliotheken installeren en configureren op Raspberry Pi. Programma's voor Raspberry Pi

In 2011 werd de Raspberry Pi-singleboardcomputer uitgebracht voor degenen die het zoeken naar kant-en-klare oplossingen beu waren en besloten om zelf een technologische omgeving te creëren. Terwijl Arduino meer een speeltje is voor degenen die graag met hun handen werken, is het “framboos”-product een hersentraining voor programmeurs.

In slechts 6 jaar tijd zijn bijna alle populaire programmeertalen aangepast voor Raspberry. Sommige hebben aanzienlijke beperkingen, terwijl andere hun volledige potentieel benutten. Laten we 9 vertegenwoordigers van de tweede categorie bekijken.

Kras

De officiële website suggereert dat Raspberry-gebruikers zich eerst tot Scratch moeten wenden. De taalbronnen zijn al opgenomen in het standaard Raspbian-besturingssysteem. Zowel een volwassen specialist als een kind kunnen met Scratch beginnen met het creëren van IoT. Het is geen wonder dat het in slechts 10 jaar tijd een van de 20 beste talen is geworden wat betreft het aantal zoekopdrachten in zoekmachines.

Python

Het komt misschien als een verrassing voor je, maar de Pi in de naam is geen wiskundige constante, maar een verwijzing naar Python. IDLE, de standaard Raspberry-ontwikkelomgeving, werkt in snake-taal. Op de officiële website in het documentatiegedeelte vindt u een basisgids. Bovendien raak je dankzij Python Games en hun bronnen vertrouwd met de mogelijkheden van de taal.

HTML5 en CSS3

Raspberry Pi-computers zijn geschikt voor het bouwen van IoT-systemen en de ingebouwde Epiphany-browser is een geschikte clientinterface. Dit betekent dat je niet zonder webtalen kunt. Met HTML5 en CSS3 kunt u het probleem van het creëren van een virtuele schil voor een slimme woning oplossen met minimale tijd en kleine beperkingen.

JavaScript

JavaScript is de dynamische kracht van de Raspberry Pi. Je kunt ermee werken dankzij het Node.js platform, waarmee je desktop- en webapplicaties maakt. Vergeet het niet jQuery-bibliotheek, dat in elke browser werkt en deze vult met bekende dynamische functies.

Java

De mogelijkheid om Java-code op elk platform uit te voeren is het kernconcept van de taal. En dit concept is vooral handig voor platforms zoals de Raspberry Pi. U debugt eerst de code op een “groot” besturingssysteem en brengt deze vervolgens over naar Raspbian. Tegelijkertijd is het moeilijk om applicaties in Java te ontwikkelen binnen een "raspberry" -systeem - er is geen volwaardige omgeving voor deze taal.

MET

Omdat Raspbian een op Unix gebaseerd besturingssysteem is, as basistaal S handelt hier. Met zijn hulp krijg je maximale prestaties zonder machineopdrachten te gebruiken. Dit is vooral belangrijk voor serversystemen in het IoT. Een superset van de taal, Objective-C, wordt gebruikt om applicaties voor de iPhone en iPad te schrijven, wat ook handig kan zijn voor je Raspberry.

C++

C++ is nuttig wanneer snelheid, veiligheid en duidelijkheid van het werk nodig zijn. Het takenpakket is ongelooflijk breed: van rechtstreeks werken met hardware tot het organiseren van de interactie tussen apparaten en clients. C++ zal de ‘frambozenkant’ veranderen van ervaren ontwikkelaars uit de vorige eeuw en van degenen die voorheen alleen code voor microcontrollers schreven.

Perl

Perl verliest langzamerhand terrein in de wereld van grote machines, maar in de Raspberry Pi is het nog steeds een van de belangrijkste tools. Het komt uit de doos, heeft veel uitbreidingen en toevoegingen en kan worden gebruikt om informatie te verzamelen of een C-programma te herschrijven. Dit heeft invloed op de prestaties, maar het werken met dergelijke code is veel eenvoudiger.

Erlang

Erlang is een programmeertaal voor het creëren complexe systemen. Stel dat u zich ontwikkelt op uw single-board-vriend kerncentrale of neuraal computernetwerk. C++ of een andere applicatietaal zal niet werken. Maar met Erlang kunt u fouten minimaliseren en het meeste uit uw Raspberry Pi halen. Natuurlijk, als je naar dit niveau groeit.

Zoals u begrijpt, is de ontwikkeltaal voor Rasberry Pi van secundair belang. De keuze hangt af van smaakvoorkeuren, het soort probleem dat wordt opgelost en uw ervaring. Dit betekent dat Rasberry Pi uw trouwe programmeergenoot zal worden, ongeacht welk pad u kiest.

Dit artikel, dat zelfs voor een blog behoorlijk lang is, beschrijft de eerste stappen van een “IT-specialist” van middelbare leeftijd op weg naar het beheersen van de nieuwste aanpak tot informatie-educatie op scholen en universiteiten in ontwikkelde landen - fysiek computergebruik op het devboard Raspberry Pi om het toegankelijk te maken voor uw geliefde kind en thuisschool.

Onderweg moest ik voor het eerst in mijn leven kennis maken met een alternatief "Wintel" hardwareplatform (Raspberry Pi 3 gebaseerd op een ARM-processor), leren werken in een onbekend besturingssysteem (Rasbian OS op Debian-database Linux), maak vrienden met een nieuwe programmeertaal (Python), onthoud de basis radio-elektronica.

Als gevolg hiervan voor slechts 3,5 duizend roebel. en een maand wachten kreeg mijn kind een redelijk krachtig hulpmiddel, uniek in zijn educatieve mogelijkheden, een combinatie van een stille 4-core computer ter grootte van creditcard, webserver, mediacenter, controlecentrum voor smart home-sensoren, een laboratorium voor het beheersen van de basisprincipes van programmeren, robotica en radio-elektronica - bijna perfecte oplossing voor een computerwetenschapsclub op school.
Tegelijkertijd zijn alle programma's erop in eerste instantie gratis en in een grote verscheidenheid beschikbaar via online repository's, en zijn er in principe geen virussen.

Een excursie naar de geschiedenis van het lesgeven in computerwetenschappen op school en universiteit

Sinds eind jaren negentig ben ik op de een of andere manier betrokken geweest bij de ontwikkeling van het proces van informatisering van het onderwijs op scholen en universiteiten.
Eind jaren tachtig raakte ik als middelbare scholier verslaafd aan het begin van de introductie van computers in het schoolonderwijs. Toen waren dit computerlessen gebaseerd op de microcomputer BK 0010 en de docentencomputer DVK-2. Ik heb de basisprogrammering met enthousiasme onder de knie gekregen. Er waren toen vrijwel geen boeken over. Samen met de leraar moest ik alles bestuderen met behulp van brochures en de ‘wetenschappelijke methode’. Voordat hij de school afmaakte, kwam het IBM Pilot Schools-project naar Tsjoevasjië. Gelukkig werd er in een van de scholen in Novocheboksarsk (nr. 14) een computerlokaal op basis van IBM PS/2 geïnstalleerd. Toen was het als een wonder: een echte IBM PS-computer met een muis, een diskettestation en een prachtig 256-kleurenscherm! De computer van de leraar had een 286-processor, 1 megabyte RAM en 40 MB harde schijf(die zo groot leek in vergelijking met een diskette dat we niet wisten of hij überhaupt met wat dan ook gevuld kon worden). Bij alles werd een matrixprinter meegeleverd - “een wonder van vijandige technologie.”
Daarna waren er 5 'perestrojka'-studiejaren aan de universiteit, waar ik tijdens het onderwijsproces kennis maakte met Cubaanse SM-computers (dezelfde met spoelen voor het opnemen van gegevens en heavy metal-toetsenborden). Maar het was juist in die jaren dat universiteiten in de westerse landen subsidies begonnen te ontvangen moderne computers IBM PC-XT 286 en IBM PC/AT 386. Opnieuw was ik geschokt toen ik Pascal leerde kennen terwijl ik in Norton-commandant en het beheersen van de LaTex hypertext documentlay-outomgeving.
Nadat ik een aantal jaren op school had gewerkt nadat ik was afgestudeerd aan de universiteit, had ik het geluk om te zien hoe de BK 0010-geleidelijk werden vervangen door nieuwe, ordes van grootte krachtigere Pentium-computers met een grafisch Windows-besturingssysteem en kantoorprogramma's"aan boord". Maar kinderen blijven Basic en Pascal leren door ze te gebruiken...
Door zijn werk was hij een van de eersten in zijn geboorteplaats die online ging en besefte hij meteen dat hij de toekomst was. Ik begon websites te maken en internetprojecten te ontwikkelen, maakte kennis met Linux, het belangrijkste besturingssysteem van internet, en Perl, toen het meest populaire taal Programmeren van internetapplicaties.
Ik heb mij enige tijd teruggetrokken uit het schoolonderwijs. Ongeveer tien jaar later vond ik de tijd en het verlangen om een ​​computerastronomieclub te organiseren op mijn thuisschool (nu een gymzaal). Bijna voor mijn ogen komen oude Pentiums en Celesrons binnen computerklas dankzij een presidentiële subsidie ​​werden ze vervangen door krachtige dual-core laptops. Het curriculum omvatte al kantoorpakketten en grafische editors, de basisbeginselen van het werken op internet en een inleiding tot HTML. Maar ook de oude Basic en Pascal bleven...
En nu is het tweede decennium van het nieuwe millennium al aangebroken. Mijn dochter is opgegroeid met informaticalessen. Van haar heb ik geleerd dat scholen nog steeds de basis leren van het werken in Windows en... programmeren in Borland Pascal...
Ondertussen zijn over de hele wereld kinderen jonger schoolgaande leeftijd schrijven al programma's voor Android, creëren internetdiensten in de superpopulaire Python-taal en beheren slimme huizen op basis van Linux-devboards met SoC-processors vanaf smartphones...
Ik heb vragen gesteld aan vertegenwoordigers van het onderwijssysteem over het probleem van stagnatie in de implementatie van opleidingen moderne technologieën op school? Ik heb nog geen eenlettergrepig antwoord op deze vraag gehoord. Ik begreep maar één ding: vanwege de impopulariteit van het beroep van leraar informatica onder gevorderde jongeren, de lengte van het proces van het schrijven van curricula en handleidingen, het omscholen van onderwijzend personeel en het opknappen van computerklassen, zal er in de nabije toekomst niets meer over zijn voor mijn kind op school, als... Als door de introductie van nieuwe enthousiastelingen technologie niet zal worden overgenomen, zelfs niet als buitenschools of olympiadewerk. Gelukkig ben ik zelf een liefhebber, en mijn eerste docent informatica is er ook één van. Je hebt alleen hulp nodig om ergens te beginnen...

Arduino versus Raspberry Pi


Nadat ik een beetje had gegoogled, kwam ik erachter dat Physical Computing, de basis van IoT-technologie (Internet of Things), de afgelopen jaren het modernste gebied van informatie-educatie ter wereld is geworden. Dit onderwerp begon zich snel te ontwikkelen dankzij de opkomst van het goedkope maar behoorlijk krachtige hardwareplatform Raspberry Pi en de bijbehorende infrastructuur - een enorme gemeenschap van leraren en enthousiastelingen, talloze startgidsen en leerboeken, duizenden ontwikkelaars van verschillende bibliotheken, een breed scala aan kant-en-klare uitbreidingen en sensoren. Vóór Raspberry Pi werd het onderwerp van het beheersen van de grondbeginselen van cybernetica en fysiek computergebruik op basis van Arduino-microcontrollers actief gepromoot in het schoolonderwijs in het buitenland. Dankzij dit is er nu een ruime keuze aan verschillende sensoren voor Arduino, waardoor kinderen onder toezicht van volwassenen bijvoorbeeld robotplatforms kunnen bouwen om primitieve ‘robotraces’ te organiseren. In principe is het onderwerp Arduino vandaag de dag nog steeds relevant, maar dan als het eerste onderdeel van het proces van het leren van fysiek computergebruik, programmeren en cybernetica. Raspberry Pi is het volgende, aanzienlijk geavanceerdere niveau, in feite onbeperkt in mogelijkheden...

Je kunt begrijpen hoe Raspberry Pi en Arduino verschillen en op hun eigen manier goed zijn door hun mogelijkheden te vergelijken.

Arduino- Dit is geen volwaardige computer, een single-tasking single-core microcontroller met een kleine hoeveelheid RAM, lage rekenkracht, gebrek aan multimedia- en netwerkmogelijkheden, maar een laag stroomverbruik en hoge reactiesnelheid in tijdkritische projecten. Om Arduino aan te sturen heb je een computer of laptop met een USB-poort nodig, waardoor het startbudget voor één klaslokaal aanzienlijk toeneemt. Om Arduino te programmeren, moet je een C-achtige taal leren. Arduino is voldoende om snel te reageren op een signaal van een sensor, bijvoorbeeld om een ​​robotwiel de andere kant op te laten draaien. Maar de Arduino zal de robot niet meer via internet kunnen besturen en de route kunnen verwerken.

Raspberry Pi (v3 Model B)- een volwaardige 4-core single-board computer met 1 GB RAM en USB-connectiviteit externe schijven, met een modern Linux-systeem, met geavanceerde multimedia- (Open GL, HD-Video) en communicatie- (WiFi, Bluetooth, Ethernet) mogelijkheden. Met enig voorbehoud kan de Raspberry Pi met succes worden gebruikt als een volwaardige studenten-/studentencomputer, waarop je naast de hoofdtaak van fysiek computergebruik naar muziek kunt luisteren, HD-video's kunt bekijken, op internet kunt surfen, kunt werken met documenten in kantooreditors, e-books lezen enz... En tegelijkertijd, de monitor (wat een gewone lcd-tv met een VGA/HDMI-connector kan zijn), USB-toetsenbord en muis niet meegerekend, de kosten van één Raspberry Pi -gebaseerde studieruimte vanaf 2, 5 t.r. Op de Raspberry Pi kun je de basisprincipes van programmeren in elke taal leren. Standaard wordt het vooraf geïnstalleerd met Python, Scratch en Node-RED, maar niets staat dit in de weg gebruiksvriendelijke interface Debian-programmarepository om LAMP te installeren vanuit PHP, Ruby, Java en andere populaire omgevingen ontwikkeling. Ook op de Raspberry Pi kun je als volwaardige Linux-computer veel nuttige gratis en nuttige programma's voor mastering installeren, waaronder de Apache-webserver - de basis van het moderne internet, de 3D-ontwerpomgeving Blender, de grafische editor De Gimp, vector-editors Xara-X en Inkscape, Scribus-publicatiesysteem. En daarnaast heeft de Raspberry Pi een GPIO-interface voor het aansturen van sensoren die oorspronkelijk voor Arduino zijn ontworpen. Als u bovendien een onmiddellijke reactie op gebeurtenissen en ADC-signaalconversies nodig heeft, kunt u een Arduino op de Raspberry Pi aansluiten en er sensoren doorheen besturen!
Hierdoor is Raspberry Pi de meest betaalbare personal computer voor studenten en tegelijkertijd een ontwikkeld hardware- en softwareplatform voor het Internet of Things.

1. Een Raspberry Pi-startpakket kopen

Dus nadat ik erachter was gekomen dat het de moeite waard is om meteen met de Raspberry Pi te beginnen om de Arduino-fase te omzeilen, kwam ik tot de beslissing om een ​​starterspakket te kopen voor een eerste kennismaking, waarin ik de basisprincipes van het werk en de basisprincipes van fysiek computergebruik in Python onder de knie kreeg, en dit alles vervolgens op school te demonstreren en de belangstelling te wekken van enthousiaste docenten, maar ook van gevorderde studenten. Zo begon mijn verhaal met de Raspberry Pi.

Gelukkig voor de Russen zijn alle Raspberry Pi-modellen, inclusief het meest geavanceerde v3 Model B, ook beschikbaar noodzakelijke componenten Je kunt het bestellen met bezorging op AliExpress.com.

U kunt minimaal alleen het Raspberry Pi 3 Model B-bord zelf bestellen met levering voor een prijs van 2200 roebel. Om te beginnen heeft u een voeding (oplader voor een mobiele telefoon/tablet) nodig met een miniUSB-connector die een uitgangsstroom levert van 1A-1,5A, een LCD-monitor of tv met een HDMI-connector, een USB-toetsenbord en een muis .

Ik besloot om 1,2 tr toe te voegen. en koop de benodigde set componenten waarmee de Raspberry Pi handiger, productiever, compatibeler en efficiënter wordt. Allereerst moet u een set koellichamen kopen om de warmte van de SoC-processor en het geheugen te verwijderen, zodat ze niet oververhit raken tijdens complexe taken en de systeemprestaties niet verminderen door de processorkernen achtereenvolgens uit te schakelen en de klokfrequentie te verlagen.
Het wordt ook ten zeerste aanbevolen om een ​​goedkope woning te kopen om ongemak te voorkomen en kinderen tegen problemen te beschermen. Ik nam de originele Model R1-behuizing in wit en frambozenkleur.
Om de basisprincipes van fysiek computergebruik met de Raspberry Pi onder de knie te krijgen, moet je onmiddellijk een starterkit met sensoren en een printplaat met een kabel voor de GPIO-interface bestellen, die je niet in de plaatselijke winkels kunt kopen. Op AliExpress.com staan ​​kant-en-klare kits bestaande uit sensoren, een printplaat met kabel en een adapter, aansluitdraden, LED's, knoppen en weerstanden. Maar ze leken me een beetje duur... Daarom nam ik bijna alles apart en besloot LED's, knoppen en weerstanden te kopen bij de dichtstbijzijnde radiowinkel.

Mijn online boodschappenlijstje:
1. Raspberry Pi 3 Model B met een 2,5A-voeding en twee radiatoren voor de processor en geheugen - 2412 roebel.
2. bredaboard met 40-aderige kabel en adapter - 282 RUR.
3. HDMI2VGA-adapter - 233 roebel.
4. Behuizing, model R1 - 280 wrijven.
5. Startset van 16 sensoren - 510 wrijven.
6. Set verbindingsdraden - 186 roebel.
Totaal: 3900 wrijven. (tegen prijzen vanaf februari 2017 tegen de wisselkoers van de roebel van 57,70)

Na ongeveer een maand wachten zijn alle bestelde onderdelen veilig en wel aangekomen.

2. De Raspberry Pi klaarmaken voor gebruik


Voordat u de Raspberry Pi voor de eerste keer inschakelt, zijn er verschillende verplichte procedures die moeten worden voltooid. Aandacht! Voordat u het bord uit de antistatische zak haalt, moet u ervoor zorgen dat u de statische elektriciteit van uw handen verwijdert door een waterkraan of een blootliggend gedeelte van de radiator aan te raken, anders kunt u gevoelige elektronica verbranden.
Eerst moet je de heatsinks op de processor en geheugenchip lijmen. Het is niet moeilijk: eerst afpellen beschermende film van de radiator, plaats hem dan voorzichtig boven de microschakeling die overeenkomt met de grootte ervan en laat de radiator er moeiteloos op zakken. Het is niet nodig om het koellichaam strak tegen de microschakeling te drukken; het blijft toch goed zitten.
Vervolgens moet je de behuizing uit de onderdelen samenstellen en het bord erin plaatsen. Bij het monteren van de behuizing installeren we de bovenklep en de zijkant met uitsparingen voor USB-connectoren nadat we deze (met enige kracht) in de sleuven van het Raspberry Pi-bord hebben gestoken.

3. Installatie van Rasbian OS

Omdat de Raspberry Pi standaard wordt geleverd zonder vooraf geïnstalleerd besturingssysteem en eigen opslagmedia, moet je hem kopen, het systeem downloaden en zelf installeren.
De Raspberry Pi-systeemschijf maakt geen gebruik van een microSD-kaart van minimaal klasse 6 (schrijfsnelheid 6MB/sec) met een capaciteit van minimaal 8MB. Op internet adviseerden ze om onmiddellijk een klasse 10-kaart te kopen om mogelijke problemen bij het installeren van het besturingssysteem te voorkomen Frambozenwerk Pi.
Bij de dichtstbijzijnde computerkraam kocht ik een Sundisk klasse 10 microSD-kaart van 8 GB.
Vervolgens heb ik het Raspbian-besturingssysteem (gebaseerd op Debian Jessie) gedownload van https://www.raspberrypi.org/downloads/raspbian/. Kiezen Raspbiaanse Jessie met PIXEL is een distributie met grafische interface en een reeks programma's om productief werk te starten.
Het bleek dat de gedownloade afbeelding, wanneer deze uit het archief wordt uitgepakt, wordt uitgebreid tot 4 GB en niet naar een schijf met het FAT32-bestandssysteem kan worden geschreven vanwege beperkingen op de maximale grootte van afzonderlijke bestanden.
Ik moest verbinding maken externe USB-drive met NTFS-bestandssysteem en pak de Raspbian OS-image erop uit.
Om een ​​afbeelding naar een SD-kaart te schrijven, moest u het Win32DiskImager-programma downloaden vanaf het adres en de microSD-kaart via een USB-kaartlezer op de computer aansluiten.
De programma-interface is ongelooflijk eenvoudig: in de regel "Image File" moet u de Raspbian OS-image op de schijf specificeren, een microSD-kaart selecteren in de vervolgkeuzelijst "Apparaat" en op de knop "Schrijven" klikken. Trouwens, met hetzelfde programma is het de moeite waard om van tijd tot tijd een reservekopie van de microSD-kaart te maken door deze in de kaartlezer te plaatsen, het pad te selecteren om de afbeelding op te slaan in het veld "Afbeeldingsbestand" en op te geven in het veld In de vervolgkeuzelijst Apparaat wordt de naam weergegeven van de schijf waaronder de microSD-kaart is gedefinieerd en wordt de opdracht "Lezen" geselecteerd.

4. Eerste lancering


Na succesvolle voltooiing van het opnameproces plaatst u de microSD-kaart in de overeenkomstige sleuf van de kaartlezer op de Raspberry Pi, sluit u de monitor aan via een HDMI-kabel of HDMI2VGA-adapter, sluit u het toetsenbord en de muis aan op de onderste USB-connectoren en pas daarna die de voeding aansluiten. Omdat de Raspberry Pi geen aan/uit-knop heeft, wordt het apparaat aan- en uitgeschakeld door het aansluiten/loskoppelen van de voeding. Voor het geval dat ik van tevoren schrijf dat het raadzaam is om, voordat u de Raspberry Pi uitschakelt, het besturingssysteem correct af te sluiten, zodat er tijdens het daaropvolgende opstarten geen fouten optreden.
Tot mijn grote spijt en afgrijzen lichtte de Pixel grafische shell-screensaver niet op op de monitor, nadat ik de stroom op de Raspberry Pi had aangesloten, maar verscheen er een tirade van tekst “vloeken” die eindigde met de regel “kernel paniek” met de fout nummer.
Toen ik op mijn smartphone googlede, kwam ik er meteen achter dat de Raspberry Pi mijn microSD-kaart blijkbaar niet leuk vindt (zoals later bleek, is de lees-/schrijfsnelheid niet genoeg om het Raspbian OS goed te laten werken). Terwijl ik de Raspbian OS-image naar de SD-kaart herschreef, merkte ik dat de schrijfsnelheid niet hoger was dan 4 MB/sec (overeenkomend met klasse 4 SD-kaart).
Bij opnieuw opstarten Raspberry Pi met de noodlottige kaart, ik zag opnieuw "kernelpaniek". Ik moest naar een kiosk gaan en deze na wat uitleg vervangen door een minder "merk" Prestigio microSDHC 8GB klasse 10 (U1). De OS-image werd twee keer zo snel naar een “vers aangeschafte” microSD-kaart geschreven met een snelheid van ongeveer 9,5 MB/sec. Toen ik hem aanzette, liet de Raspberry Pi onmiddellijk een welkomstvenster zien en na een paar seconden laden was ik blij om de X-Windows-interface op het display te zien met een prachtige screensaver in de vorm van een verlaten weg die richting de stijgende zon.
Blijkbaar was de Sundisk-kaart nep...

5. Kennismaken Debian Linux, initiële installatie Raspbian OS, installatie van nuttige programma's


Gewapend met een paar handleidingen in het Russisch en Engels gedownload van verschillende nerdbronnen, besloot ik mijn weekendavond te wijden aan de eerste installatie van een handige werkomgeving op Raspbian OS.

Allereerst is het de moeite waard om een ​​paar woorden te zeggen over de Debian Linux-console. Het is toegankelijk via de LXTerminal-knop op het bovenpaneel van de Raspbian OS-interface.
Er worden opdrachten ingevoerd in de Linux-console om het besturingssysteem te beheren, programma's te installeren, starten en verwijderen, en handmatige wijzigingen aan te brengen in de instellingen van het besturingssysteem zelf en de afzonderlijke componenten ervan. Voor de meeste opdrachten is beheerderstoegang (root-toegang) vereist om succesvol te kunnen worden uitgevoerd. Om dit te doen, moet u vóór de opdracht "sudo" invoeren.
Sommige bewerkingen in Raspbian OS zijn alleen beschikbaar vanaf de console.
Allereerst is dit toegang tot het systeemconfiguratieprogramma raspi_config. Dit is waar de eerste installatie van het Raspbian-besturingssysteem wordt uitgevoerd.
Om het systeemsetupprogramma uit te voeren, moet u LXTerminal openen en de opdracht in de console invoeren:
sudo raspi-config

Allereerst moet u de opdracht "Expand Filesystem" selecteren om uit te breiden bestandssysteem OS op de volledige beschikbare ruimte van de microSD-kaart.
Dan moet je zeker het standaard root-wachtwoord wijzigen om toegang te krijgen tot het systeem via de console en via SSH met het commando “Change User Password” (Gebruikerswachtwoord wijzigen). Dit kan gedaan worden vanaf de opdrachtregel "sudo passwd root".
Vervolgens moet u de SSH-server starten om via het SSH-terminalprotocol vanaf een andere pc met de opdracht “SSH” in het venster “Geavanceerde opties” op de Raspberry Pi in te kunnen loggen.

Het is erg belangrijk om de landinstelling (interfacetaal) onmiddellijk te wijzigen in Russisch en een Russische toetsenbordindeling toe te voegen.
Dit gebeurt in het venster "Internationaliseringsopties". De landinstelling wordt gewijzigd met behulp van de opdracht "Landinstelling wijzigen".
U moet de landinstelling ru_RU.UTF-8 UTF-8 selecteren. De toetsenbordindeling wordt gewijzigd met het commando "Toetsenbordindeling wijzigen". Vervolgens moet u in een nieuw venster selecteren de gewenste indeling(ru_RU.UTF-8), stel in het volgende venster sneltoetsen in voor het wijzigen van de lay-out, waarbij u elke keer de geselecteerde acties bevestigt door de "Tab" -knop van het toetsenbord naar de "Enter" -knop van het programmavenster te verplaatsen en op " te drukken Enter" op het toetsenbord.
Het is ook de moeite waard om in het venster "Geavanceerde opties" naar het menu-item "Audio" te gaan en in het nieuwe venster de standaard audio-uitvoeroptie te selecteren op de interne 3,5 mm-aansluiting om het geluid te beluisteren via een hoofdtelefoon die is aangesloten op de standaard Raspberry Pi-audioconnector.
Nadat u de instellingen hebt voltooid, selecteert u de knop "Voltooien" en gaat u akkoord met het opnieuw opstarten van het systeem.

De volgende stap bij het opzetten van het Raspbian-besturingssysteem is het bijwerken van de programmadatabase en de geïnstalleerde componenten.
Om dit te doen, voert u de volgende opdrachten achtereenvolgens in de console in en wacht u tot ze allemaal zijn uitgevoerd totdat de groene consoleprompt verschijnt.
Softwaredatabase-update:
apt-get-update
Geïnstalleerde programma's bijwerken
sudo apt-get-upgrade
Het verwijderen van bibliotheken, gerelateerde programma's enz. die achterblijven na het verwijderen van programma's.
sudo apt-get autoremove
Het voltooien van de tweede opdracht duurt gewoonlijk 10-15 minuten.
Ik herinnerde me mijn eerdere ervaring met Linux en haastte me om de bestandsbeheerder Midnight Commander te installeren.
sudo apt-get install mc
Zonder dit is het navigeren door de systeemmapstructuur met de opdracht “cd” langzaam en lastig.

Voor het geval dat een beginner altijd een puntenslijper bij de hand moet hebben. basiscommando's Unix...

Ctrl+C - uitgang open consoleprogramma(als er geen andere sleutels aanwezig zijn)
Shift+Ins - plak tekst in de console
Ctrl+Ins - kopieer geselecteerde tekst vanuit de console
sudo - wordt vóór het commando geplaatst en voert het met rechten uit root-gebruiker
- afsluiten
sudo shutdown -h nu - stop het systeem onmiddellijk en start het afsluitproces
sudo shutdown -h 21:55 - sluit het systeem af en sluit af om 21:55
sudo shutdown -h nu - sluit de Raspberry Pi af
sudo su - open de opdrachtprompt als root
sudo -i - open de opdrachtprompt als root
sudo cp - kopieer een bestand (met de schakelaar -r recursieve kopie)
sudo mv - bestand verplaatsen
cat - voer de inhoud van het bestand/de bestanden uit
cd - Ga naar de gewenste map. Bijvoorbeeld cd /home/pi
chmod - wijzigt de machtigingen om een ​​bestand te gebruiken; u (betekent de gebruiker die eigenaar is van dit bestand), g (bestandsgroep) en o (andere gebruikers), evenals r (lezen), w (schrijven) en x (uitvoeren)
chmod u+x - stelt toestemming in voor de bestandseigenaar om het uit te voeren
sudo chown pi:root - wijzig de gebruiker en/of gebruikersgroep die eigenaar is van dit bestand, de gebruiker is bijvoorbeeld pi en de groep is root.
dir - toont de inhoud van de huidige map
pwd - toont uw huidige locatie
datum - toont de tijd en datum
cal - toont de kalender voor de huidige maand
cal -y - toon de kalender voor het huidige jaar
wget - download een bestand naar de huidige map. Bijvoorbeeld wget http://mysite.com/myfile.deb
sudo apt-get update - zal de lijst met pakketten uit de repository bijwerken
sudo apt-get upgrade - zal geïnstalleerde pakketten upgraden
sudo apt-get install<название> - installatie van het programma<название>uit de Debian-repository
sudo apt-get verwijderen<название> - het programma verwijderen<название>
informatie<название>-informatie over het programma weergeven
apt-cache zoeken<запрос> - doorzoek de database van de Debian-repository naar een programma of hulpprogramma met een beschrijving<запрос>
apt-cache zoekschermopname- zoek naar programma's voor het maken van schermafbeeldingen
sudo apt-get install mc - installatie van bestandsbeheer Midnight Commander (Mc)
sudo apt-get installatielinks - installatie van tekstbrowserlinks
udo apt-get install scrot - installeer het screenshot-hulpprogramma
scrot -d5 - maak na 5 seconden een screenshot
sudo apt-get install synaptic - installeer de Synaptic-pakketbeheerder
sudo apt-get install x11vnc - een VNC-server installeren
x11vnc -desktop:0 - start een VNC-server voor bediening op afstand via een VNC-client, bijvoorbeeld realVNC (http://www.realvnc.com/download/viewer/)
top - start taakbeheer
sudo nano - bestandsbewerking
sudo nano /boot/config.txt - het instellingenbestand bewerken framboos lanceren Pi
ifconfig - hulpprogramma voor het configureren van netwerkinterfaces
iwconfig - bekijk informatie over draadloze apparaten
sudo iwlist wlan0 scan - Wi-Fi-scan
cat /proc/cpuinfo - bekijk informatie over de processor
cat /proc/meminfo - Toont gedetailleerde informatie over het Raspberry Pi-geheugen
cat /proc/partitions - toont de grootte en het aantal partities op uw SD-kaart of HDD
cat /sys/devices/system/cpu/cpu0/cpufreq/sca ling_cur_freq- informatie over processorfrequentie
<имя_программы>--hulp— weergave van programmahulp
vcgencmd Measure_temp - toont de processortemperatuur
free -o -h - laat zien hoeveel vrij systeemgeheugen beschikbaar is
vcgencmd get_mem arm && vcgencmd get_mem gpu— toont de geheugenverdeling tussen de processor en GPU
lsusb - lijst met aangesloten apparaten
mkdir newDir - de map newDir maken
rmdir oldDir - een lege map oldDir verwijderen
rm<имя_файла>- een bestand/map verwijderen (met de schakelaar -r, recursief de inhoud van de map verwijderen)
& - voert de opdracht op de achtergrond uit
curl - downloadt een bestand van of naar de server
grep "patroon" *.txt - zoek in bestanden op masker en opgegeven patroon
ping<имя_сервера>- controleren van de beschikbaarheid van de server
df -h - vrije en gebruikte schijfruimte op aangesloten apparaten
scp mijnbestand.txt [e-mailadres beveiligd]: - het bestand myfile.txt naar het apparaat kopiëren [e-mailadres beveiligd] via SSH naar de map /home/pi/
scp [e-mailadres beveiligd]:mijnbestand.txt.- het bestand myfile.txt kopiëren vanaf het apparaat [e-mailadres beveiligd] V huidige map via SSH
scp *.txt [e-mailadres beveiligd]: - alles kopiëren tekstbestanden van apparaat [e-mailadres beveiligd] naar de huidige map via SSH
dd if=/dev/sdd of=backup.img - een back-upimage maken van een SD-kaart of USB-station (/dev/sdd)
dd if=/dev/sda of=/dev/sdb bs=4096- byte-voor-byte kopiëren van gegevens van apparaat naar apparaat (dd if=/dev/zero of=/dev/sda bs=4k - de sda-schijf opschonen)
dd if=mijnbestand of=mijnbestand conv=ucase- converteer het bestand naar hoofdletters
dd if=mijnbestand of=mijnbestand conv=lcase- converteer het bestand naar kleine letters
ls -l | dd conv=ucase - converteert opdrachtuitvoer naar hoofdletters
apt-mark showauto > autopackagelist.txt- het maken van een lijst met vooraf geïnstalleerde applicaties
apt-mark showmanual > manualpackagelist.txt- het maken van een lijst met handmatig geïnstalleerde applicaties

6. Raspberry Pi testen als desktop

Dus na een half uur instellingen en updates is de Raspberry Pi klaar voor gebruik. Wat hebben we standaard ‘aan boord’?
Naast softwareontwikkeltools is Raspberry OS geïnstalleerd basispakket noodzakelijke toepassingen.
Om met documenten te werken, zijn het Libre Office-pakket en de tool vooraf geïnstalleerd PDF-viewer. Voor productief werken op internet wordt Raspberry OS geleverd met de Chromium-browser en de e-mailclient Claws Mail. Voor afstandsbediening vanaf desktop en mobiele apparaten VNC Connect is geïnstalleerd op de Raspberry Pi.
Helaas bevat het systeem standaard geen mediaspeler met een grafische interface voor het afspelen van video en audio, maar vanaf de console kan het afspelen van multimediabestanden worden gestart via het omxplayer-programma, dat ondersteuning biedt hardwareversnelling video in volledig schermmodus.
Het systeem beschikt over de grafische bestandsbeheerder Xfce, waarmee u met de muis door mappen kunt navigeren, bestandsbewerkingen kunt uitvoeren en documenten kunt openen door met de muis te dubbelklikken. Zoals de praktijk heeft uitgewezen, verschilt hij qua gemak en werkingsprincipes praktisch niet van de Explorer die we gewend zijn.
Het openen van menu's en het navigeren door mappen in de Raspbian OS-interface gaat verrassend snel, sneller dan op mijn oude dual-core Celeron.
Nadat ik de geïnstalleerde software had geïnventariseerd, was mijn nieuwsgierigheid aanleiding om de snelheid van de Raspberry Pi op internet te controleren. Ik opende het in Chromium en ging eerst naar mijn eigen portal cheboksary.ru: de pagina's openen snel en zonder remmen. In het tweede tabblad opende ik het sociale netwerk VK. Ik begon door mijn feed te scrollen met het muiswiel - ik merkte geen onaangename laadvertragingen op. De feed van het sociale netwerk scrollt soepel door de browser, zonder schokken. Op het derde tabblad opende ik YouTube en daarin stond een populaire videoclip. De video wordt zonder vertragingen en schokken met voldoende afgespeeld goede resolutie en geluid van redelijk hoge kwaliteit. Ik heb de video uitgebreid naar volledig scherm en het afspelen ging zonder onderbrekingen door. Het enige wat mij opviel was een enigszins trage reactie op muisklikken op de video-afspeelinterface. We kunnen zeggen dat de Raspberry Pi de internetprestatietest heeft doorstaan.
Ik controleerde de weergavesnelheid van e-boekpagina's in de Xpdf PDF-viewer die in het systeem was ingebouwd. Om dit te doen, besloot ik een “flashdrive” in de USB-connector aan te sluiten en... het systeem herkende deze onmiddellijk en opende binnen een paar seconden een bestandsbeheervenster in de map /media/pi/usb/ met de inhoud van mijn verwisselbare media! Een aangename verrassing: automatische montage van USB-drives is geïmplementeerd in Raspbian OS! Zoals later bleek, moet je, om de "flashdrive" te demonteren voordat je deze loskoppelt, op de pijl rechts klikken bovenste hoek scherm en selecteer het in de lijst.
Snel selecteren benodigde PDF-bestand, klikte er gewoon op en zag de inhoud in het viewervenster. Bij het scrollen werden de pagina's van het e-book weergegeven met een vertraging van ongeveer een seconde, wat als een volledig acceptabel resultaat kan worden beschouwd. De enige onaangenaam moment- de kijker kon geen Russische letters weergeven in de inhoudsopgave van het boek.
Om het afspelen van muziek en video vanaf een flashdrive te testen, besloot ik de console niet te gebruiken en installeerde ik een grafische shell in Python voor de omxplayer-systeemspeler. Natuurlijk schittert de tk-interface van de shell niet met schoonheid en design, maar je kunt nog steeds selecteren met de muis benodigde bestanden en maak afspeellijsten. Hoewel ze op internet schreven dat hardwareversnelde video niet in een venster op een Raspberry Pi kan worden afgespeeld, blijkt dit heel goed mogelijk te zijn via omxplayerGUI! De video werd op het scherm weergegeven met de oorspronkelijke resolutie in een venster zonder frame, maar je kon het venster slepen zonder het afspelen te stoppen.
Kortom, internet op de Raspberry Pi werkt zonder beperkingen, muziek en video's worden afgespeeld, flashdrives worden automatisch gemonteerd, kantoordocumenten bewerkt, foto's worden getoond. Wat heb je nog meer nodig voor productief werk?

De rekenmogelijkheden van het Raspberry Pi 3-bord (hierna Rpi3 genoemd) zijn ruim voldoende om programma's rechtstreeks op het doelsysteem te ontwikkelen. Het ontwikkelingsproces kan echter worden versneld en comfortabeler worden gemaakt als u zich ontwikkelt software voor Rpi3 op uw pc.

In dit artikel ga ik het proces beschrijven van het instellen van cross-compilatie in Eclipse op Windows. Het beschrijft ook het instellen van Eclipse om te werken met een extern Raspbian-systeem op Rpi3.

Als dit de eerste keer is dat u Eclipse gebruikt, kunt u de nieuwste versie installeren via de Eclipse CDT-link.
Virtueel Java-machine, nodig om Eclipse te laten werken, kan worden gedownload via de JRE-link.

Na het installeren van bovenstaande componenten, de geïntegreerde omgeving Eclipse-ontwikkeling CDT kan op uw computer worden uitgevoerd. Als hulpvoorzieningen We zullen msys uit het MinGW-pakket gebruiken, dus we moeten ook MinGW downloaden.

Het enige dat overblijft is het installeren van de tools voor het cross-compileren van programma's.
Om dit te doen, moet u ze downloaden via de volgende link toolchain.
Deze site bevat ook instructies in het Engels voor het installeren van de tutorial toolkit.

Nadat u de tools hebt geïnstalleerd, bevat de map die u hebt opgegeven ook aanvullende hulpprogramma's in de submap TOOLS:

  • – een hulpprogramma voor het schrijven van een afbeelding van het Rpi3-besturingssysteem naar een geheugenkaart.
  • SmartTTY– console SSH – een client waarmee u via het SSH-protocol een verbinding met het bord tot stand kunt brengen. Naast de standaardfuncties heeft het de mogelijkheid om bestanden naar het bord te uploaden vanuit het hulpprogrammamenu.
  • UpdateSysroot– een Windows-batchbestand dat het proces start van het synchroniseren van het sysroot-bestandssysteem van het bord en de instrumentatie.

Als u zojuist een Rpi3-bord heeft gekocht en het besturingssysteem nog niet op de geheugenkaart heeft geïnstalleerd, zal het hulpprogramma WinFlashTool u hierbij helpen.
U moet de Raspbian-besturingssysteemimage downloaden van de officiële bron.
Pak vervolgens de gedownloade image uit, installeer de geheugenkaart in de kaartlezer en schrijf de image van het besturingssysteem ernaar met behulp van WinFlashTool.

Het opzetten van een draadloos WLAN-netwerk op het RPi3-bord is beschreven in mijn vorige artikel.

Breng met behulp van het SmartTTY-hulpprogramma een verbinding tot stand met het bord. Dit is nodig om problemen te voorkomen bij het opzetten van een externe verbinding in Eclipse.
Maak een nieuwe verbinding door het IP-adres van het bord, de login en het wachtwoord voor inloggen op te geven (standaardwaarden voor respectievelijk login en wachtwoord voor pi en framboos).



Nu moet u het sysroot-bestandssysteem synchroniseren. Waar is dit voor?
Stel je een situatie voor waarin je de nieuwste versie van de Raspbian-image hebt geïnstalleerd en niet kunt synchroniseren.
In de nieuwe versie zijn headerbestanden en bibliotheekbestanden toegevoegd of gewijzigd. Als je met een cross-compiler werkt, gebruik je oude die niet identiek zijn aan nieuwste versie systeem-, header- en bibliotheekbestanden uit de sysroot-map. Daarom is er geen garantie dat een programma dat met succes op een computer is gecompileerd, binnen het RPi3-bord zal werken.
We voeren het UpdateSysroot-script uit en kijken hoe de bestanden op de computer worden bijgewerkt (dit kan enkele tientallen minuten duren).

Nu is het tijd om een ​​externe verbinding met het Rpi3-bord in Eclipse tot stand te brengen. Start Eclipse CDT, selecteer Venster->Toon weergave->Overig in het hoofdmenu... In het venster dat wordt geopend, selecteert u “externe systemen”.

Hierna verschijnt onderaan het scherm een ​​nieuw tabblad “Remote Systems”. Op dit tabblad moet u een nieuwe verbinding definiëren door op de eerste knop aan de rechterkant te klikken.

In het geopende venster selecteert u het verbindingstype “Linux”.

Na de voltooide manipulaties verschijnt er een nieuwe verbinding op het tabblad "Remote Systems", dat subsecties bevat:

  • Sftp-bestanden– in deze sectie kunt u de inhoud van het externe bestandssysteem bekijken. Het is ook mogelijk om bestanden te kopiëren met behulp van slepen en neerzetten van een lokaal project naar een externe machine en omgekeerd.
  • Shell-processen– in deze sectie kunt u processen bekijken die op een externe machine worden uitgevoerd.
  • Ssh-schelpen– in deze sectie kunt u een nieuwe SSH-terminal openen en opdrachten rechtstreeks vanuit Eclipse invoeren. Er is geen apart hulpprogramma nodig.






Met behulp van het tabblad “Remote Systems” kunnen we dus programma’s die op de computer zijn gecompileerd naar het Rpi3-bestandssysteem kopiëren, ze voor uitvoering starten via Ssh Shells en verwijderen onnodig proces in de sectie Shell-processen.
Het is tijd om te creëren nieuw project in Eclipse en schrijf een eenvoudig demoprogramma.
Maak een nieuw project aan via het hoofdmenu Bestand->Nieuw->C-project.

Om te bouwen gebruik ik mijn eigen project, dus het projecttype moet worden geselecteerd Makefile project->Leeg project

Vervolgens kunt u eenvoudig mijn Makefile naar de toetsenbordbuffer kopiëren (Ctrl+C) en deze in het lege Rpi3_Project plakken (Ctrl+V).

Wanneer u de Makefile opent, ziet u in de eerste regel na het commentaar een lijst met gebruikte doelen:

.PHONY: testproject helemaal schoon

  • test– controleert of de cross-compiler arm-linux-gnueabi-gcc en het make-hulpprogramma op het systeem zijn geïnstalleerd.
  • project- creëert een directorystructuur binnen het project.
  • alle– bouwt het project.
  • schoon— reinigt het project van tijdelijke bestanden (inclusief uitvoerbare bestanden).

Nu moet je ervoor zorgen dat je over de tools beschikt. Om dit te doen, moet u de opdracht make test uitvoeren.
Maar eerst moet u alle vier de doelen toevoegen aan het tabblad Doel maken aan de rechterkant van het scherm.

Door op het testdoel te dubbelklikken, starten we het voor uitvoering en zien we zoiets als het volgende in het consolevenster:

Als het bericht niet in de console werd weergegeven ondanks het feit dat de tools arm-linux-gnueabihf en MinGW eerder waren geïnstalleerd, kan dit alleen maar betekenen dat de paden naar de tools niet waren gespecificeerd in de systeemvariabele Path. Je moet aan Path het pad toevoegen naar de map MinGW/msys/1.0/bin en de map bin van het arm-linux-gnueabihf pakket.

Laten we nu een mapstructuur binnen het project maken dubbelklikken op het projectdoel (maak project).

De Makefile is zo georganiseerd dat de namen van de bronbestanden moeten worden toegevoegd aan de SRC-variabele; alle andere bronnen worden niet gecompileerd, ook al bevinden ze zich in de map /src.

De structuur van de projectdirectory is als volgt:

  • bak– de map met het uitvoerbare bestand na montage.
  • Foutopsporing– een map met een debug-versie van het programma, die geen code-optimalisatie bevat en foutopsporingsinformatie bevat.
  • Uitgave– catalogus met definitieve versie een programma dat geoptimaliseerde code bevat en geen foutopsporingsinformatie bevat.
  • incl– map voor headerbestanden.
  • obj– bevat tijdelijke bestanden project wordt gebouwd, heeft submappen Debug en Release.
  • src– projectbronbestanden.

Met deze Makefile kunt u bronbestanden compileren die zijn geschreven in programmeertalen zoals C, C++, Assembler. In dit geval kunt u alle beschikbare programmeertalen gebruiken om één programma te maken.

Maak in de map /src een nieuw bronbestand main.c en voeg de volgende regels eraan toe:

#erbij betrekken int main(int argc, char **argv); int main(int argc, char **argv) ( printf("Welkom bij de Raspberry Pi 3-programmering\n"); return 0; )/* main */

#erbij betrekken

int main(int argc, char * * argv);

int hoofd(int argc, char * * argv)

printf( "Welkom bij de Raspberry Pi 3-programmering\n") ;

retour 0;

) /* voornaamst */

Laten we controleren of de SRC-variabele de naam van het bronbestand main.c bevat.
Laten we vervolgens het project bouwen door het hele doel uit te voeren.
Nu kunt u het resulterende uitvoerbare bestand naar de thuismap op het doelbord kopiëren door het bestand met de muis te slepen en neer te zetten.

Laten we met de rechtermuisknop op de sectie Ssh Shells klikken om een ​​contextmenu te openen waarin u Launch Shell moet selecteren. Er wordt een nieuw tabblad Remote Shell geopend, waarin u shell-opdrachten kunt invoeren in het veld Commando.

Stel de toegangsrechten voor het gekopieerde Rpi3_Project-bestand in met behulp van de opdracht:

sudo chmod 777 Rpi3_Project

Tot nu toe blijft Raspberry Pi een van de meest populaire technologische gadgets. Op dit bord kun je vrijwel elk besturingssysteem installeren. Maar vandaag zullen we het hebben over het schrijven van programma's voor dit bord zonder besturingssysteem, met alleen hardware.

Wat is de vangst?

Op het eerste gezicht lijkt de taak triviaal: download keil, maak een project aan... Maar zo eenvoudig is het niet. Alle programmeeromgevingen (keil, IAR, Atolic) ondersteunen maximaal ARM9. We hebben ARM11. Dit komt door de onuitgesproken regel dat ze tot ARM9 op bare metal schrijven, en daarna op Linux. Maar er is nog steeds één maas in de wet: arm-none-eabi-gcc ondersteunt elke ARM.
Het tweede probleem is dat er voor deze processor (BCM2835) geen zijn configuratiebestanden, headers, etc. Hier hebben we hulp zal komen Raspberry Pi-bootloader. En het is oké dat het eigendom is. Het voert twee functies uit: het initialiseert de processor en zijn randapparatuur, en draagt ​​ook de controle over aan kernel.img. We zullen ons programma eenvoudigweg vermommen als een kernel en de bootloader zal het starten.

Wat hebben we nodig?

1) De Raspberry Pi zelf, de geheugenkaart en de voeding.
2) Gegevensblad voor de processor
3) Computer met Linux geïnstalleerd(maar misschien is het mogelijk op Windows. Ik weet het niet, ik heb het niet geprobeerd).
4) Cross-compiler geïnstalleerd op de computer vanaf punt 3. Ik gebruik arm-none-eabi-gcc
5) De inhoud van deze map.

Voorbereidingen.

We moeten de geheugenkaart formatteren in FAT16 en de inhoud van deze map ernaar overbrengen. Dit is de bootloader plus de kernel. Vervolgens verwijderen we de bestanden kernel.img en kernel_emergency.img daar. Dit Linux-kernel, maar we hebben het niet nodig.

Eerste programma.

Nu kunnen we beginnen met het schrijven van ons eerste programma. Maak een bestand main.c en schrijf de volgende code
int main (void) ( while(1) ( ) ) void exit (void) ( while(1) ( ) )
Zoals je kunt zien, doet dit programma niets. Om de een of andere reden heeft de compiler de exit-functie nodig.
Laten we het nu verzamelen.
arm-none-eabi-gcc -O2 -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -nostartfiles main.c -o kernel.elf
arm-none-eabi-objcopy kernel.elf -O binaire kernel.img

We gooien het resulterende kernel.img-bestand naar de geheugenkaart. Klaar!

GPIO

Het is onwaarschijnlijk dat u tevreden zult zijn met een programma dat helemaal niets doet. Laten we nu proberen een gloeilamp aan te steken.
Laten we eerst het adres opgeven waar de GPIO zich bevindt (dit kunt u lezen in de datasheet).
#define GPIO_BASE 0x20200000UL

En we zullen een variabele declareren die bepaalt dat de poort is geconfigureerd voor uitvoer (GPIO_GPFSEL1) en een variabele die een laag niveau levert (dat wil zeggen: het lampje brandt) aan de poort (GPIO_GPCLR0).
#define GPIO_GPFSEL1 1
#define GPIO_GPCLR0 10

Nou, eindelijk passen we aan belangrijkste functie een gloeilamp aansteken:
vluchtige niet-ondertekende int* gpio; int main(void) ( gpio = (niet-ondertekende int*)GPIO_BASE; gpio |= (1<< 16); gpio = (1 << 16); while(1) { } }

Wij verzamelen, naaien en verheugen ons.

In het volgende deel zullen we proberen te spelen met timers en interrupts.

De Raspberry Pi is een verbazingwekkende kleine computer die steeds meer mogelijkheden krijgt. Daarom is het noodzakelijk dat alleen de beste programma's voor Raspberry Pi op uw apparaat zijn geïnstalleerd.

In dit artikel hebben we een lijst samengesteld met de beste Raspberry-programma's die je zeker op je apparaat moet installeren. Voor elke toepassing vindt u onder de beschrijving installatie-instructies.

1. Chroom

Laten we beginnen met de browser, die heel eenvoudig op de Raspberry Pi kan worden geïnstalleerd. Dankzij Chromium krijg je PepperFlash- en HTML 5-ondersteuning op je apparaat. Hierdoor kunt u zelf flashgames spelen, video's bekijken, streams bekijken en zelfs naar internet streamen.

Omdat Google Chrome is gebaseerd op Chromium, zijn de meeste Google Chrome-extensies compatibel met Rapsberry Pi, maar de hardwarebronnen beperken het gebruik van zware programma's enigszins. De Pi-versie van Chromium wordt geleverd met de uBlock Origin-extensie vooraf geïnstalleerd om u tegen advertenties te beschermen.

In tegenstelling tot andere programma's op de lijst is Chromium vooraf geïnstalleerd op de Raspberry Pi. Je kunt het alleen updaten naar de nieuwste versie met behulp van de opdrachten:

sudo apt-update
$ sudo apt-upgrade

Nadat de update is voltooid, moet u uw apparaat opnieuw opstarten.

2. Synaptic-pakketbeheerder

Het installeren van pakketten op de Raspberry Pi is vrij eenvoudig via de opdrachtregel; bovendien heeft het Raspbian-systeem een ​​speciaal hulpprogramma voor het installeren en verwijderen van programma's. Maar soms heb je misschien iets complexers nodig.

De Synaptic-pakketbeheerder is erg populair onder Ubuntu- en Debian-gebruikers; hij groepeert alle pakketten in categorieën, afhankelijk van hun doel. Daarnaast kun je zien welke applicaties al geïnstalleerd zijn en waarvoor er nieuwe versies zijn. Voor bewerkingen met pakketten moet u deze markeren en vervolgens op de knop klikken "Toepassen". Bovendien lost Synaptic automatisch alle afhankelijkheden op. Om het programma te installeren, typt u:

sudo apt-get install synaptic

En om te beginnen:

3. VLC-speler

Als we teruggaan naar 2013, toen het eerste apparaat werd uitgebracht, leverden alle pogingen om 480p-video af te spelen zeer trieste resultaten op. De eerste versie van het apparaat stond het juiste gebruik van systeembronnen voor het afspelen van video niet toe.

De Raspberry Pi 3 is tegenwoordig heel anders. Video en audio kunnen zonder problemen worden afgespeeld met bijvoorbeeld de VLC mediaspeler. Deze speler kan vrijwel alle formaten openen en heeft daarnaast extra functies zoals het opnemen van video vanaf de desktop, het uploaden van video's naar YouTube en het converteren van formaten. Met VLC kunt u van uw microcomputer een mediacentrum maken. U kunt het programma installeren via het standaard installatieprogramma voor toepassingen.

4. USB via IP

Met dit hulpprogramma kunt u via internet toegang krijgen tot externe USB-apparaten of andere computers toegang geven tot aangesloten USB-apparaten. Het kan zowel op Raspberry Pi als op Windows of Linux worden geïnstalleerd.

Het is erg handig om toegang te hebben tot een flashdrive die op een andere computer is aangesloten. U kunt bijvoorbeeld foto's bekijken vanaf een kaartlezer die op de computer is aangesloten. Maar het hulpprogramma moet op twee apparaten staan.

sudo modprobe usbip-core
$ sudo modprobe usbip-host sudo usbip -D

Vervolgens kunt u de lijst met apparaten bekijken:

Het hulpprogramma zoekt naar het uitvoeren van usbip op het lokale netwerk waarmee u verbinding kunt maken. Om verbinding te maken gebruik:

sudo usbip --debug bind -b

Ik schreef al in een ander artikel over toegang tot USB via het netwerk, zie daar voor meer details, over usbip in het tweede deel van het artikel.

5. DOSBox

Er zijn geen games voor Raspberry Pi. Dit apparaat is ontworpen om kinderen te helpen programmeren te begrijpen. Raspberry ondersteunt echter emulatie, waardoor je er oude games op kunt draaien, bijvoorbeeld vanuit DOS of verschillende consoles.

Met DOSBox kun je de meeste spellen spelen die voor DOS zijn geschreven van 1980 tot 1990. Je kunt het programma installeren met het commando:

sudo apt installeer dosbox

6. Arduino-IDE

Als je van plan bent je Raspberry Pi met Arduino te gebruiken, dan heb je zeker een Arduino IDE nodig. Met deze omgeving wordt het veel gemakkelijker voor u om code voor Arduino te schrijven en deze via USB naar het gewenste apparaat te uploaden. U kunt de omgeving installeren via het standaard applicatie-installatieprogramma.

7.Guake

Als Linux nieuw voor je is, kan het gebruik van de terminal erg moeilijk voor je lijken. Het gebruiksgemak hangt grotendeels af van de terminalemulator die u gebruikt. De standaardterminal is moeilijk te beheersen.

Maar je kunt de Guake-terminalemulator gebruiken, het is eenvoudiger en ziet er mooier uit. Je kunt het ook installeren via het standaard programma-installatieprogramma, net als andere Raspberry Pi 3-applicaties. Het venster is transparant, zodat je alles kunt zien wat er op het bureaublad gebeurt. Bovendien heeft het programma veel instellingen.

8. Zondvloed

Deluge is een torrent-client die is ontworpen om een ​​peer-to-peer-netwerk te gebruiken om bestanden te downloaden en onder gebruikers te distribueren. Maar dit betekent niet dat torrenting illegaal is, veel Linux-distributies kunnen bijvoorbeeld via torrent worden gedownload.

Waarom heb je een torrent op Raspberry nodig? U kunt bijvoorbeeld een repository maken met uw bestanden. Je kunt het programma installeren met het commando:

sudo apt install overstroomde deluge-console python-mako deluge-web

9. DropBox-uploader

Er is geen officiële DropBox-client voor Raspberry Pi, je hebt toegang tot de cloud via de Chromium-browser en gebruikt dit script om bestanden te uploaden. U kunt het script installeren met behulp van de opdracht:

git-kloon https://github.com/andreafabrizi/Dropbox-Uploader.git

Voer vervolgens de volgende opdrachten uit om het script te installeren en configureren:

cd Dropbox-Uploader
$ sudo chmod +x dropbox_uploader.sh
$ sudo./dropbox_uploader.sh

Wanneer het programma hierom vraagt, moet je het toegangstoken van de app invoeren in DropBox. Om het bestand vervolgens te verzenden, voert u gewoon het volgende uit:

sudo ./dropbox_uploader.sh upload /home/pi/screenplay.odt /docs/screenplay.odt

10. SD-kaartkopieerapparaat

Wat ontbreekt in onze lijst met de beste programma's voor Raspberry Pi 3 is een hulpprogramma voor het kopiëren van SD-kaarten. Hiermee kunt u een back-up maken van uw Raspberry Pi-systeem. Het hulpprogramma is al vooraf geïnstalleerd en vindt u in het hoofdmenu.

Om te kopiëren moet je een externe flashdrive op de Raspberry aansluiten, vervolgens het programma openen en dit medium selecteren. Nadat u klikt "Begin", worden alle gegevens ervan gewist.

Conclusies

In dit artikel hebben we de beste Raspberry Pi 3-software beoordeeld die u op uw apparaten kunt gebruiken. Welke programma's gebruik je? Waarvoor gebruikt u uw microcomputers? Schrijf in de reacties!