Je suis novice dans l'IoT et je veux commencer ma carrière dans l'IoT. En recherchant sur Google des startups dans l'IoT, j'ai trouvé de nombreux blogs. Et j'ai trouvé les langages utilisés dans l'IoT comme C #, Java, Node.js et les microcontrôleurs comme Arduino, Raspberry Pi, Intel, Netduino, etc.
Comme je suis nouveau sur l'IoT, je ne sais pas quelle langue est la meilleure et quel microcontrôleur j'utilise pour une startup?
Pour le démarrage de base, je dis, je veux créer un appareil qui a l'affichage qui montre la météo pour l'emplacement donné depuis mon mobile. Il peut donc s'agir d'un bon exemple de démarrage qui couvre le matériel, Internet et les logiciels.
L'appareil sera alimenté par batterie, un petit affichage numérique et oui, la restriction des coûts.
Quel microcontrôleur et quelle langue dois-je utiliser pour répondre à mes exigences d'affichage de la météo?
la source
Réponses:
Personnellement, je choisirais un Raspberry Pi 3B pour cela, bien qu'il soit probablement beaucoup plus puissant que ce dont vous avez vraiment besoin. Les raisons pour lesquelles je suggère ceci sont:
Il dispose d'un LAN sans fil 802.11 b / g / n intégré, vous pourrez donc le connecter à un réseau Wi-Fi plutôt que par un câble Ethernet
Il prend également en charge Bluetooth, de sorte que vous pourrez peut-être vous connecter au téléphone via cela.
Vous aurez également besoin d'une unité d'affichage et, de manière pratique, il existe plusieurs écrans conçus pour le Raspberry Pi, comme cet écran tactile 4DPI-32 . Vous devriez simplement pouvoir insérer l'écran directement sur l'en-tête à 40 broches:
Fondation Raspberry Pi , CC BY-SA 4.0 . Je sais que c'est techniquement un Pi 2B, mais le GPIO est le même sur le 3B.
En ce qui concerne l'aspect programmation dans ce cas, tout ce que vous avez à faire est de récupérer la météo d'une API quelque part et de l'afficher à l'écran en tant que programme GUI. L'écran fonctionne comme n'importe quelle sortie HDMI pour le Pi, vous n'avez donc rien à faire de spécial. Pour Python, vous pouvez utiliser Tkinter pour créer une interface utilisateur de base, ou vous pouvez même choisir d'écrire une application Web en HTML / CSS / JS, selon ce que vous maîtrisez. Vous pouvez utiliser l' API OpenWeatherMap gratuitement; la documentation est liée pour chaque point de terminaison API.
À ce stade, cela dépend vraiment de vous. La meilleure langue ici est la langue avec laquelle vous êtes le plus à l'aise. Si vous aimez AngularJS, créez simplement une page HTML, récupérez la météo avec Angular (ou utilisez une bibliothèque comme celle-ci pour vous aider) et affichez-la en utilisant du CSS pour la rendre belle.
Pour obtenir réellement l'emplacement, je soupçonne qu'il serait plus facile de simplement permettre à l'utilisateur de taper son emplacement sur l'écran tactile du Pi. L'envoi de l'emplacement de votre téléphone est probablement un peu plus difficile, bien que vous puissiez trouver quelque chose si vous recherchez beaucoup.
Pour l'utilisation de la batterie, cette question sur Raspberry Pi Stack Exchange mérite d'être lue.
la source
L' Oignon Omega 2 prétend être le plus petit ordinateur Linux au monde. Cette affirmation n'est peut-être pas tout à fait vraie (voir le vocore2 ci-dessous, par exemple), mais d'après mon expérience, elle doit être dans le plus petit 3. Ne coûte que 5 $, le wifi intégré, conçu avec l'IoT spécifiquement à l'esprit. A quelques boucliers disponibles sur leur site Web . Produit tout neuf, semble avoir une communauté forte et active. Les bailleurs de fonds Kickstarter obtiennent l'appareil. Vaut le détour.
En outre, comme indiqué dans les commentaires, consultez le vocore2 , qui semble en fait plus petit que l'Oignon, et moins cher à 4 $. Il est actuellement financé par IndieGoGo et les dates d'expédition estimées sont février 2017 (le mois prochain au moment d'écrire ces lignes). Semble également avoir un assortiment de quais disponibles, et dispose d'un routeur wifi intégré, ce qui est plutôt cool.
Je viens de les rencontrer l'autre jour et je n'ai aucune expérience avec eux. Notez, cependant, en raison de leur nouveauté, certains des packages Linux que vous pouvez utiliser ne sont pas encore disponibles (par exemple, je sais pertinemment qu'au moment de la rédaction de ce document, un package gstreamer n'est pas disponible sur l'Oignon pourtant, vous devez construire à partir des sources, bien que gstreamer ne vous concerne pas).
Bref, comme le dit l'autre réponse, le Pi est un excellent appareil à faible coût. N'oubliez pas le Raspberry Pi Zero , un autre petit ordinateur à 5 $ dans le style de l'Oignon. Il n'a pas tous les ports à bord que les plus gros Pi ont, mais si cela ne vous dérange pas, ou si vous voulez simplement utiliser un 3 pour le développement et un Zero pour sa taille dans les produits finaux, c'est un autre choix à considérer.
D'autres appareils, certains coûteux, comprennent:
Notez également que Vilros fabrique de superbes kits de démarrage Pi (moins chers sur Amazon) pré-emballés avec un système d'exploitation, fonctionnant en Wifi, des dissipateurs de chaleur, un boîtier, fonctionne immédiatement et économise une tonne de travail de configuration. Il vaut également la peine de vérifier si vous empruntez la route Pi. Vilros fabriquait également des kits de démarrage Beaglebone, qui ne semblent plus être disponibles sur leur site mais si vous recherchez Newegg / Amazon / etc. vous pouvez toujours trouver le stock disponible.
Soit dit en passant, un Arduino (ou un autre microcontrôleur, contrairement aux ordinateurs à carte unique à part entière énumérés ci-dessus) à lui seul n'est probablement pas ce que vous voulez ici. L'Arduino n'est qu'un Atmel ATmega168 / 328. Il n'exécute pas de système d'exploitation et ne fait rien d'autre que ce que vous lui demandez de faire. Ainsi, par exemple, pour la mise en réseau, vous auriez besoin du bouclier Ethernet, qui est livré avec une bibliothèque de contrôle Ethernet complète qui, je crois, fournit une pile TCP et UDP (je ne l'ai jamais utilisée, juste en parcourant leur site) et prend bien sûr un beaucoup d'espace de code limité.
Ensuite, vous devez créer votre client météo et tout le reste, et vous devez tout faire en 32 Ko ou moins. C'est une saveur de développement différente de celle du développement Linux / Windows sur Pi / Beaglebone / Gumstix / Colibri / etc. Un peu en dehors de la portée de cette réponse.
Ce que l'Arduino est bon ici, c'est comme un complément à votre système principal pour faire des choses d'interface matérielle, comme lire des capteurs de pression, des boutons, contrôler des éléments électroniques de base, ce genre de chose.
Le développement de systèmes embarqués est une tout autre bête que le développement de bureau que vous feriez sur le Pi, et je ne recommanderais vraiment pas d'essayer de le faire avec un Arduino seul, surtout sans expérience.
la source
Je suggère une approche étape par étape pour découvrir la langue et le contrôleur à utiliser. Le microcontrôleur dont vous avez besoin dépendra des tâches que vous souhaitez effectuer. Théoriquement, la tâche définira certaines exigences qu'un microcontrôleur approprié remplira, vous devez donc choisir le microcontrôleur en fonction de ces exigences.
Définissez une user story pour l'appareil. Qu'en attendez-vous? De quoi voulez-vous qu'il soit capable?
Dans votre cas, il est déjà défini par vous:
Maintenant, l'étape 1. vous donne quelque chose pour commencer. Vous pouvez décider du matériel dont vous avez besoin au niveau du diagramme.
Vous aurez certainement besoin d'un écran et éventuellement d'un module WiFi ou Bluetooth pour communiquer avec votre mobile. L'accès aux bases de données météorologiques mondiales nécessitera éventuellement une connexion Internet. Vous devriez contrôler les deux avec un MCU ou le module WiFi (vous avez besoin d'Internet pour pouvoir exclure Bluetooth) devrait être capable de contrôler l'affichage et d'exécuter votre logiciel.
Vous pouvez commencer à chercher des pièces spécifiques. Vous pouvez commencer par décider de la batterie que vous utiliserez, afin de prendre en compte la consommation d'énergie de vos pièces potentielles. J'ai résumé un processus général de sélection de MCU dans l'une de mes réponses précédentes . Fondamentalement, la même chose devrait être faite ici. Trouvez un écran bon marché, il utilisera probablement une interface SPI ou I2C pour la communication. Ensuite, vous pouvez rechercher soit un module Wifi avec SPI / I2C et dispose d'un MCU intégré ou d'un MCU séparé et d'un module WiFi. Le module WiFi individuel utilisera probablement UART pour communiquer, de sorte que le MCU individuel devrait l'avoir le long du SPI / I2C.
Quant à la langue. La plupart des microcontrôleurs limiteront vos possibilités dans ce domaine. Dans la plupart des cas, vos choix seront soit C, C ++ ou Assembly, à proprement parler des microcontrôleurs ici et non des ordinateurs à carte unique.
Si vous décidez d'aller avec un BeagleBone ou Raspberry qui peut exécuter Linux ou un autre système d'exploitation puissant, je dis que la meilleure langue sera celle que vous connaissez le mieux, bien sûr, elle devrait être capable de gérer la tâche. ( Vous pouvez exécuter Java sur le RPi si vous le souhaitez. )
L'ouverture d'une socket à un service de données météorologiques mondiales peut également se faire en C, C # ou Python. Ce serait un peu plus difficile de traiter JSON avec C mais certainement possible.
Parlant des coûts en général. La meilleure option est de rechercher des périphériques d'affichage compatibles WiFi, il y aura beaucoup de résultats et la plupart d'entre eux utiliseront le même matériel, et ce sera probablement le moins cher.
Vous pouvez utiliser un module WiFi ESP8266 qui est compatible Arduino pour se connecter à Internet et interfacer un écran. Cela nécessitera beaucoup de bricolage qu'un Raspberry Pi, mais sera moins cher.
Voici un projet Hackaday sur l'écran ESP8266 + OLED .
la source
Créer une startup ne concerne pas ce que vous pouvez faire avec la technologie ni même le produit. Pour une startup réussie qui peut captiver les VC, vous devez d'abord penser au marché que vous allez servir. Mais penser au marché que vous desservirez ne suffit pas. Vous devez disposer de données réelles sur le marché. Il ne s'agit pas seulement de quelque chose qui a du sens pour vous. Créer un produit et ensuite tenter de le vendre n'est pas une approche réussie et c'est ainsi que finissent les startups les plus infructueuses. Un marché est un VRAI BESOIN. Lorsque vous créez un produit, créez-le pour répondre à un marché spécifique. C'est ce qui fait un produit réussi, un produit qui se vend parce que les gens le recherchent déjà. Les VC investissent uniquement dans les startups qui ont de tels produits, surtout si elles vendent déjà.
Pour choisir une technologie pour développer votre produit, vous devez d'abord savoir ce que votre produit doit faire, voici comment cela va résoudre le problème sur le marché sélectionné. Ensuite, regardez ce que les clients potentiels sont prêts à payer pour cela. Ensuite, choisissez la technologie qui permet le délai de mise sur le marché le plus rapide tout en respectant le coût dans le budget. Ensuite, externalisez le développement ou obtenez un partenaire qui peut le faire et qui est prêt à travailler avec vous. Partagez les bénéfices 50/50 avec votre partenaire. Ensuite, lorsque vous avez un prototype, commencez à élaborer votre plan d'affaires et n'oubliez pas que vous ne pouvez captiver les VC que si vous leur montrez comment ils peuvent gagner de l'argent.
Si vous avez besoin de réduire le coût de votre produit pour la production de masse, vous pouvez utiliser des langages de niveau inférieur et des micro-contrôleurs moins ingénieux comme Microchip PIC ou Silicon Labs EFM avec ASM / C / C ++. Si le produit ne va pas en production de masse (100k +), utilisez un langage de niveau supérieur et des micro-contrôleurs plus ingénieux, comme Micro Python ou Lua avec ARM32 MIPS, ou même Linux avec ARM32 / 64. Cela permet d'économiser sur les coûts de développement mais augmente le prix du matériel. N'oubliez pas que le prix du produit n'est pas seulement un PCB avec des composants; le développement, le logement, l'emballage et tout le reste nécessaire pour vendre le produit devraient entrer dans son coût. Mettez cela dans le plan d'affaires. Et n'allez pas à un VC avec un Arduino ou un Raspberry pi ou un Oignon ou quelque chose qui ressemble à un gadget amateur,
Démarrez, pas en bas, et bonne chance.
la source