Hacking with the #RaspberryPi and #Windows 10 #IoT Core
Posted on March 24th, 2016
03/23/2016 @Microsoft, 101 Wood Ave South, Iselin, NJ
Nick Landry showed how to use the Windows 10 operating system to control devices in the Internet of Things.
He first talked about IoT = things + connectivity + data + analytics. He demonstrated software running on the Raspberry Pi, but emphasized that Windows 10 IoT allows developers to create code that runs on platforms from ARM devices (IoT) to phones to tablets to laptops to desktops to large displays. Within the IoT space, Windows 10 runs on
- Raspberry Pi 2 & 3 – ARM processor – Wi-Fi, Bluetooth,…
- Intel Atom E3800 processor x86 – (Tablet) – Ethernet,…
- Qualcomm Snapdragon 410 – (cell phone) – GPS, WiFi,…
W10 also has many levels of functionality to accommodate differences in interfaces (headed = screen interface, headless = no screen interface) and differences in hardware by using a single C# development core with difference SDKs to access the different capabilities of devices.
The Windows 10 stack has the W10 operating system on which Win32 sits as does UWP. The majority of UWP APIs are shared across devices including desktop, phones, ioT, etc.
Nick then walked through the steps to replace the Linux OS with Windows 10 on a Raspberry Pi from the http://dev.windows.com/iot web site. He noted that the latest Raspberry Pi, the Pi 3, requires you to download the ‘Insider preview version’ to successfully flash the hardware.
The Raspberry Pi 3 includes wi-fi and Bluetooth, but the current version of Windows 10 does not currently handle those functionalities natively, but will eventually do so.
He next showed the Raspberry Pi and talked about how sensors and controls are connected through the GPIO pins and how the Windows 10 IoT extension SDK gives you access to those pins.
Programming the device using C# in Visual Studio uses different conventions than using Sketch in the Arduino IDE
- Instead of a ‘startup’ and ‘loop’, one needs to set up a timer with the timer interrupt route serves the same function as the ‘loop’ routine in Arduino
- Downloading the code requires one to select ‘ARM’ device and ‘Remote Machine’. The Arduino IDE only needs a COM port number.
- Event handling is done using the C# programming syntax
- Visual Studio has full access to services offered across a wide range of devices. Nick demonstrated how the text-to-speech routine can be called in the same way one would call text-to-speech when developing a smartphone app.
- Simple programs require more code, but that code can be used across devices.
- You can execute Arduino Sketches in Visual Studio and you can even combine Sketch and C# code in the same application.
Nick concluded by talking about The #FezHat (from ghielectronics). The Fez Hat is a development board which fits on the Raspberry Pi and includes: controls for DC and servo motors. Terminal blocks, light sensor, LEDs, temperature sensor, user buttons, etc. all for $35. It is analogous to Shield boards for the Arduino.
For further information, Nick suggested
If you’re having problems installing Windows 10 on a Raspbery Pi see.
How to develop an internet-connected device using the Particle Photon
Posted on October 8th, 2015
Microsoft Mobile App Developers of New Jersey #MMADNJ #iot #particle #azure
10/06/2015 @Microsoft, 101 Wood Ave, Edison, NJ
Nick Landry followed his previous presentation on the internet of things (#IoT) with a presentation showing how to build a simple application using the Photon board and Azure. Nick started with a review of IoT. One application is the ‘Fujitsu connected cow’ that determines by a leg bracelet when a cow is going into heat.
He then talked about popular dev kits such as the Arduino and Raspberry Pi. He likes the Photon board by Particle since it is open source hardware and only costs $19. Unlike the Arduino and Raspberry Pi, it has wifi capabilities without needing to add a shield. However, unlike the Intel Edison and the Raspberry Pi, it does not have a full operating system (only has a microprocessor).
Unlike many other systems, such as Arduino, the build is done on a web IDE. The language is nearly identical with that the version of C used by Arduino IDE. The Photon is smaller than most boards with fewer pins, but has the advantage of pins that clip directly into a standard breadboard. There are also several boards that are designed to fit with the Photon.
Since development is on the web, the program download process is
- Connect the Photon using the microUSB to your computer
- Use Putty to access the Photon to get it’s id and tell the Photon the wifi network name
- On the web IDE, enter the device id for the Photon
- Compile the Arduino program and flash it to the Photon
Nick then walked us through some of the distinctive aspects of the Photon
- Has 3.3V pins. (one 5V pin)
- GPIO pins can be used either for input or output
- Pins 0-7 are digital pins.
- Some pins support pulse width modulation (PWM) to simulate analogue outputs from a digital pin.
- The Cloud can talk to the photon using FTP
Finally Nick demonstrated the programming and running of three apps
- The “hello world” for iot – flashing LED
- A shot dispenser that is voice activated through the web
- Speech recognition in the cloud
- Triggers a web page that FTPs a message to the Photon
- The Photon triggers a relay briefly
- The relay opens a tap
- Temperature and humidity sent to Azure
The slides for the presentation are available on: http://aka.ms/mmadnj20151006
Will #Minecraft create the first software mega hit in VR?
Posted on July 5th, 2015
07/05/2015 from Minecon July 4-5, 2015, London
When #Oculus was bought by #Facebook, I know that I was not alone in thinking about the virtual worlds that #VR would allow us to access. The system that immediately came to mind was Minecraft. Here, one already has a vast library of worlds built in 3-d and the millions of game players who have the expertise and desire to build new worlds. Once a world is built, gamers explore it on a computer screen, but being able to easily look around a space would make the experience even more compelling.
#Microsoft’s acquisition of Minecraft in 2014 also fits in the story since #Hololens was announced earlier this year and Mindcraft demonstrated how the two products work together at the E3 conference. This doesn’t guarantee that Hololens will not suffer the same fate as #GoogleGlass, but it at least shows that Hololens has a more compelling argument for a killer app than Google Glass had at its introduction.
The presence of Minecraft could have a major effect on the evolution and acceptance of VR. At first look, established computer game makers appear to have a large advantage in creating VR software. These companies have the software tools to visualize worlds in three dimensions, many experienced programmers used to coding in a 3-d world, an understanding of what the consumer wants, and the hardware and systems to efficiently render the graphics and optimize the system. However, as I noted in a previous post, Minecraft has worked to create the tools and educate its players on creating games beyond block building. Its users all know how to create objects in a 3-d virtual world and its ecosystem includes many experts in adapting the vanilla system to create new user experiences. This possibly leads to the following scenario.
In this scenario, large numbers of Minecraft players create 3-d games that can be accessed as VR. Some of these games, while crude graphically, become popular. The most popular games are adapted by shops that specialize in smoothing the contours and movements of items while retaining the underlying software logic. Specialists also create procedures to move code running on the CPU to run on a GPU.
It will be interesting to see if companies such as #Unity3d, #InfinityWard, #GameMaker, #EAsports will need to respond to this challenge.
Expand Your Mobile Web Presence in the Windows Store With Hybrid Web Apps
Posted on February 19th, 2015
Microsoft Mobile App Developers New Jersey hosted by Nick Landry
02/19/2015 Microsoft New Jersey Office in Iselin, 101 Wood Avenue South, Iselin, NJ
Peter Laudati @Microsoft talked about a technology called Web App Templates (WAT) for creating hybrid (native + web) apps. This approach is currently available for #Windows and #Android development (and will soon be available for #iOS). The approach aims to easily build a local shell app so a web site when accessed through the app looks and feels like a native app (a.k.a. “highly configurable native chrome” app).
The app is most easily developed when the existing web site has a responsive web design, but need not be. WAT allows reformatting of the css tags to customize the page format and creates customized buttons that can be used to access deep links in the site.
Peter demonstrated WAT for Windows which is loaded as a template into a C# project in Visual Studio. The template features a default xaml file (in the config directory) in JSON format which points to the web site and includes sample buttons for share, refresh, pin, and home. The buttons can be customized by changing icons and specifying actions to be performed. Any css tag on the page can be reformatted or hidden locally which can be useful for removing clutter on the smaller mobile screen or enlarging fonts to improve readability or suppress some native functions such as pinch-zoom.
Peter emphasized that this approach is different from that of Apache Cordova, since WAT starts with a pre-existing web application, rather than running html/css/js code locally.
Peter also talked about the weinre debugger for web pages which enables one to debut locally running html/css/js code on a mobile device with the same tools as available when debugging the page on the Chrome browser.