Comparatif nano-computer

From Electrolab
Jump to: navigation, search

Bonjour,

cette page suite à l'engouement sur les solutions cheap de single-board à 30/45€ capables d'héberger un petit ordinateur.

A ce sujet, voici un site à regarder : http://liliputing.com/tag/mini-pc

Hardware

Arduino

Citation de : http://fr.wikipedia.org/wiki/Arduino Arduino est un circuit imprimé en matériel libre (dont les plans sont publiés en licence libre) sur lequel se trouve un microcontrôleur qui peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la domotique (le contrôle des appareils domestiques - éclairage, chauffage…), le pilotage d'un robot, etc

Lien commercial : http://www.arduino.cc/

Citation d'un mail de Marc, résumant bien la solution Arduino :

- Architecturalement, tu as deux catégorie d’arduinos : ceux avec un port usb sur la carte, et ceux sans port USB. L’arduino mini et l’arduino pro ainsi qu’un des deux lilipad nécessitent l’ajout d’un module FTDI pour programmation/debug. Les autres, mega, nano, lilipad USB etc, possèdent un port usb soit type B, soit mini-USB


- Il existe également deux familles distinctes : les traversants (uno, 2009, 2010, Leonardo avec un microcontroleur sur support DIL…) et les cms (Mega, Due, nano, mini…, microcontroleur CMS soudé sur le pcb). Les premiers peuvent être utilisés pour programmer un pion Atmega, puis le déhotter et l’intégrer dans un montage… ta carte servant à la fois de plateforme de développement/debuging et de programmeur. On trouve sur eBay des Atmels livrés avec le bootloader par paquet de 10 moins cher que ceux que tu trouveras non programmés chez Farnell, RS ou un revendeur Arduino


- Il existe enfin une différence de perf entre les nouvelles générations telles que le Due et les premiers arduino Uno, ainsi qu’une nette différence en terme d’entrées-sorties entre un Mega ou un Due (qui ont des E/S à revendre, 70 pour le Mega) et la génération des « petits » Uno ou Nano qui ont une 20aine d’I/O (8 entrées ana, 14 GPIO dont 6 en pwm par exemple)

Bref, le meilleur compromis dépend de ce que tu veux en faire. Sous un angle bidouille, soit ton programme est massif et tu as plutôt intérêt à viser un Mega, même si tu n’utilises pas toutes les E/S, soit tu as besoin d’une foultitude d’E/S (mega, Due), soit tu cherches à intégrer seulement le microcontroleur avec un silicium buriné sur un CI amovible ( Uno, 2009, 2010…), soit tu vises un truc qui soit toujours accessible par USB et intégrable à un montage (donc Arduino Nano). A toi, en fonction des trois paramètres énoncés ci-dessus, de savoir ce que tu vas choisir d’utiliser. Compte tenu de nos perversions sexuelles, je pense que le Nano est un candidat de prédilection. Sauf lorsque le soft intégré est massif. Exemple, le keyer CW de K3NG (http://blog.radioartisan.com/) décrit sur le Wiki du Lab http://wiki.electrolab.fr/Projets:Perso:2012:ArduiKeyer. Tu peux coller le programme principal dans un Nano, mais tu dois choisir quelle partie du soft tu vas dégraisser pour le rentrer au chausse-pied dans la mémoire du Duino.

Pour l’instant, je pense que le meilleur rapport qualité/prix reste le Nano et ses clones vendus par les valeureux fils de l'Empire du Milieu sur eBay tant que ton firmware tient dans des tailles acceptables (les programmes comme celui de K3NG sont rares, et si c’est pour faire un séquenceur, le nano suffit amplement)

Le langage et l’environnement de programmation est le même pour tous ces outils.

Il faut également savoir que des environnements de développement plus ou moins « compatibles » arduino permettent d’utiliser des PIC (Pingduino, sur plateforme USB Bit Whacker avec le firmware d’Alex 9V1AL par exemple)

Personnellement, j’ai toujours sous la main :

- Un Mega, qui me sert de plateforme de développement permanente, car avec une foultitude d’E/S, tu peux commencer un programme en mode saloupiau sans chercher à optimiser ton firmware. Voir à faire plusieurs programmes, l’un qui pilotera le proto que tu auras fait sur les port 1 à 10 par exemple, l’autre qui jouera avec les ports d’entrée 0 à 4, etc. Le pcb est gros et gras, facile à utiliser pour y tester des extensions de pilotage de relais etc.

- Un 2009 (qui en fait est identique aux 2010 ou au Uno à des poil de cul près), qui me sert uniquement, une fois qu’un soft est achevé, à buriner le pion avant de l’intégrer à un montage

- Des Nano qui eux même peuvent être intégrés sur un support DIL30 empattement large… là, tu as tout sur ta platine, le microcontroleur, l’USB, et en plus, ça ne coute que 7 euros port compris made in china.

Tous ont des ports série et SPI-I2C etc etc, tu peux aller sur le site Arduino.cc pour te plonger dans les specs fines

Tous peuvent recevoir un afficheur soit graphique, soit du classique 4 lignes/20 chr ou 2 lignes 18 chr, mais également des ports Ethernet, des modules Bluetooth ou Zigbee, etc etc. Mais très honnêtement, 99% des modules d’extension NE SERVENT A RIEN. Ils sont surtout destinés à des « purs softeux » qui souhaitent faire progresser leur soft rapidement sans s’enquiquiner avec l’aspect hard. Nous, c’est l’inverse : le fer à souder, on maitrise, mais on pédale dans la semoule coté développement. Tous les Shield que tu trouveras dans le commerce bouffent des E/S sans la moindre économie, on peut faire mieux, moins cher et plus facilement avec nos Weller et des montages « Dead bug » (et sans perdre de temps)

Tous les Arduino ont un agencement des entrées/sorties qui est physiquement immuable, et tous se sont vus intégrés dans les bibliothèques de composant de certains outils CAO (par exemple kicad, tu as toutes les libs Arduino imaginables, la preuve : http://wiki.electrolab.fr/images/d/d7/KeyerRTM.JPG et http://wiki.electrolab.fr/images/2/29/Keyer_sch_k3ng.JPG

en outre, gros avantage sur le PIC, l’environnement de programmation utilise un C et une structure de programme simplifiée au max, qui limite fortement coté souplesse, mais qui est bien plus facilement utilisable pour des cerveaux frappés de sénilité comme les nôtres. Pas d’assembleur (bien que ce soit possible, cela va sans dire), et pas d’errance pour savoir comment adresser tel afficheur ou tel clavier : tu as une foultitude de bibliothèques de fonctions que tu peux récupérer sur internet, des gourous ont pondu le code pour toi.

[...]

Tu as aussi des tuto sacrément bien foutus, dont certains pondus par électroniqueux (j’arrive à les piger, c’est dire si c’est simple)

Par ordre de simplicité :

  • http://uploads.siteduzero.com/pdf/515602-arduino-pour-bien-commencer-en-electronique-et-en-programmation.pdf en français, très progressif, comme la partie électronique est proche de l’inverse de l’infini, tu progresses très rapidement. Les gars qui ont écrit ça ont un réel talent de vulgarisation. En français dans le texte Note : 9/10. Pour que ce soit parfait, il manque un chapitre sur la structuration des programmes : comment « penser » la création de fonctions qui seront appelées par le programme principal pour ne pas alourdir le « main » et le rendre illisible.
  • Ceux de Ladyada… ca ne va pas très loin, c’est en angliche http://www.ladyada.net/learn/arduino/ note : 3/10
  • Tronixstuff : c’est complet, bien foutu, et surtout totalement écrit pour des « électroniqueux canal historique ». http://tronixstuff.wordpress.com/tutorials/ 8/10, et uniquement parce que ce n’est pas en Français. Les cours sont très « pratiques » (sauf un poil de théorie au début), accompagnés d’une vidéo, du programme d’exemple, des schémas de montage, ca va même un peu plus loin que le cours du Site du Zéro. Faut commencer par le truc en français et plonger dans les détails sur TronixStuff, qui contient considérablement plus d’exemples.
  • Todbot blog : http://todbot.com/blog/spookyarduino/ C’est pas le nec plus ultra, mais on y trouve des « évidences » que les autres cours ne donnent pas. Par exemple, pour commuter un transo ou une diode led, il est préférable d’utiliser une I/O en commutation de mise à la masse plutôt qu’en générateur de courant… (on met à l’état bas plutôt que haut). C’est idiot, c’est évident, cela va sans dire…. Mais ça va mieux en le disant (disant et demi maximum). En angliche dans le texte, Note : 5/10 Bien entendu, se plonger dans les sources et la structure des programmes de K3NG. Il a pondu un article sur QEX sur le sujet d’ailleurs.

Raspberry pi

Citation de : http://fr.wikipedia.org/wiki/Raspberry_Pi Le Raspberry Pi est un ordinateur monocarte à processeur ARM conçu par l'inventeur de jeux David Braben, dans le cadre de sa fondation Raspberry Pi2.

L'ordinateur a la taille d'une carte de crédit2, il permet l'exécution de plusieurs variantes du système d'exploitation libre GNU/Linux et des logiciels compatibles. Il est fourni nu (carte mère seule, sans boîtier, alimentation, clavier, souris ni écran) dans l'objectif de diminuer les coûts et de permettre l'utilisation de matériel de récupération.

Cet ordinateur est destiné à encourager l'apprentissage de la programmation informatique2. Il est cependant suffisamment ouvert (ports USB voire réseau) et puissant (ARM 700 MHz, 256 Mio de mémoire vive pour le modèle d'origine, 512 Mio sur les dernières versions3) pour permettre une grande palette d'utilisations. Son circuit graphique BMC Videocore 4 en particulier permet de décoder des flux Blu-ray full HD (1080p 30 images par seconde), d'émuler d’anciennes consoles, et d'exécuter des jeux vidéo relativement récents.

Son prix de vente était estimé à 19,09 €, soit 25 $ en début mai 2011. Les premiers exemplaires ont été mis en vente le 29 février 2012 pour environ 25 €4. Début 2013, plus d'1 million de Raspberry Pi ont déjà été vendus.5

Lien commercial : http://www.raspberrypi.org/

Olinuxino

Solution de chez Olimex, open-source hardware de classe industrielle Héberge Androïd 4 et peut fonctionner avec d'autres distro Pleins de module optionnel branchable en UEXT

https://www.olimex.com/Products/OLinuXino/

Bunnies Studios

DIY open source laptop : http://www.bunniestudios.com/blog/?p=2686

MK802 series

Une solution avec puissance variable et tout un tas de périphériques adaptés !

http://www.rikomagic.co.uk/

Odroid

ULTRA COMPACT 1.4GHz QUAD-CORE BOARD
ODROID-U is a micro sized open development platform which is powered by Exynos4412 1.4Ghz ARM Cortex-A9 Quad Cores show PC-like performance. Enjoy various PC peripherals on Android & Ubuntu Linux. 

http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G135341359084


Exynos 4412 Prime Quad Core CPU Module 
Processor 	: Samsung Exynos4412 Cortex-A9 Quad Core 
Speed 	: 1.7GHz
GPU 	: Mali-400 Quad-core 440MHz
Memory 	: LPDDR2 RAM 2Gbyte (POP)
PMIC 	: MAX77686
HSIC-USB Hub 	: USB3503A 
Size 	: 43 x 25 mm 

http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G135270682824

AllWinner

L'A10 Allwinner est développé en Chine par Tech Rhombus dans le but de donner à la communauté du logiciel libre une solution peu de matériel open-source. A priori on est sur des tarifs de 15$ (en grosse qté) mais avec des en plus des caracts de malade: Cf Comparo ici


Voir ici : http://rhombus-tech.net/allwinner_a10/

Software

PicUntu

Site de PicUntu un OS dédié aux solution évoquées plus haut.

   Ubuntu 12.10 Quantal armhf based.
   Easy to install and dual-boot (does not erase your Android installation).
   HDMI 1920x1080 60Hz aka 1080p.
   XFCE, Gnome desktop.

Adafruit

http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro http://learn.adafruit.com/adafruit-raspberry-pi-educational-linux-distro/occidentalis-v0-dot-2

Autres distros

Extract de : http://liliputing.com/2012/07/linux-distributions-that-can-run-on-an-mk802-mini-pc.html

Here are some of the Linux distributions that are currently available for the MK802.

  • Miniand Lubuntu 12.04 – This is a version of Ubuntu 12.04 with the light-weight LXDE desktop interface. It also includes the DroidMote server, which means you can install DroidMote Client on your Android phone or tablet to use it as a remote control for Ubuntu.
  • Miniand Ubuntu 12.04 and Xubuntu 12.04 – You can also find builds using the default Ubuntu 12.04 Unity desktop environment and the light-weight Xfce environment. Neither of these builds includes DroidMote yet, but you can download and install the server app manually.
  • Toby Corkindale’s Linary 12.06 armhf build – This version of Ubuntu uses technology that should speed up performance on the Allwinner A10 chip. The installation instructions are a little more complicated, though.
  • Rikomagic Lubuntu 12.04 – This build includes a number of tweaks including a fix for WiFi performance, a working Chromium web browser, and the ability to access the MK802′s internal storage.
  • Puppy Linux – Puppy is a light-weight operating system designed to run well on older computers with slow processors and small amounts of storage and memory. I found that a version for the Mele A1000 set-top-box works pretty well on the MK802.
  • Fedora 17 – Fedora is probably one of the most popular Linux distributions that’s not based on Ubuntu or Debian. Now it’s also available for the MK802.


Solution Media-center

http://www.llaumgui.com/post/raspbmc%3A-xbmc-sur-raspberry-pi