This document introduces Sun SPOT (Small Programmable Object Technology), a wireless sensor network platform from Sun Microsystems for creating intelligent sensor networks and interacting with the physical world. It describes the Sun SPOT hardware which includes a processor board and sensor board, and the Sun SPOT software which uses the Squawk virtual machine to run Java ME applications. It provides examples of using the Sun SPOT to build a gesture controlled vehicle by having one SPOT read gesture sensor data and send messages over radio to another SPOT acting as a base station which controls a LEGO Mindstorms vehicle.
Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...Alwin Arrasyid
The talk explains about what is Internet of Things from the back-end developers perspective and how Microsoft Azure can solve the problem that developers face in building a full-blown Internet of Things products especially on the cloud side of the products.
Global Azure Bootcamp 2019 - Bandung - Microsoft Azure as Complete Solutions ...Alwin Arrasyid
The talk explains about what is Internet of Things from the back-end developers perspective and how Microsoft Azure can solve the problem that developers face in building a full-blown Internet of Things products especially on the cloud side of the products.
Introduction to AIoT & TinyML - with ArduinoAndri Yadi
On last March 21, 2020, we participated in worldwide Arduino Day 2020 and organized the online event for Bandung, Indonesia. This is the deck I delivered for my talk and demo.
A microcontroller (MCU for microcontroller unit, or UC for μ-controller) is a small computer on a single integrated circuit. In modern terminology, it is similar to, but less sophisticated than, a system on a chip (SoC); an SoC may include a microcontroller as one of its components.
Republic of IoT 2018 - ESPectro32 and NB-IoT WorkshopAlwin Arrasyid
Getting started with ESPectro32 v2 boards and NB-IoT Backpack, brand new NB-IoT enabler product powered with U-blox's SARA R410M 02B LTE-M and NB-IoT powered module that supports TCP/IP and UDP/IP protocols. This workshop introduces the participant to ESPectro32 as "things" in IoT, and the concept of LPWA network and NB-IoT as one of the LPWA network technology.
Project for the WHD global 2017 hackathon with Arduino Intel Edison and Intel IoT analytics.
The aim of the project is use the Intel IoT platform hosted in 1&1 cloud servers to make a demo of how easy you can connect any “thing” like solar power panels to Internet.
By AWS & Espressif
Learn about Amazon FreeRTOS and the Espressif Systems’ ESP32-DevKitC. Determine how this fits into an IoT solution and look at examples of using cloud services in IoT microcontroller-based devices.
Open Sound Control as Middleware for Games Accessibility and Body-movement Co...Alasdair Thin
This presentation gives an overview of the Open Sound Control (OSC) protocol and how it can be used to network enable hardware and software in order to increase accessibility by facilitating all manner of controllers to be used to play video games.
Celebrating Arduino Day in Federal University of Technology, Minna, Nigeria.
This slides gives a basic introduction to what arduino is and gives a picture tour of what has been done with arduino in Federal University of Technology, Minna
Smartphones, tablets, TVs, cars and smartwatches: Android is everywhere enabling users and developers with rich set of applications, libraries and services. Android Things brings such a power to virtually any object, any “thing”: using a low-cost (yet powerful) board, developer can add intelligence and connectivity to home, industries, vehicles and even medical appliances. This presentation introduces practical concepts around the Android Things platform and how to have fun with it.
Introduction to AIoT & TinyML - with ArduinoAndri Yadi
On last March 21, 2020, we participated in worldwide Arduino Day 2020 and organized the online event for Bandung, Indonesia. This is the deck I delivered for my talk and demo.
A microcontroller (MCU for microcontroller unit, or UC for μ-controller) is a small computer on a single integrated circuit. In modern terminology, it is similar to, but less sophisticated than, a system on a chip (SoC); an SoC may include a microcontroller as one of its components.
Republic of IoT 2018 - ESPectro32 and NB-IoT WorkshopAlwin Arrasyid
Getting started with ESPectro32 v2 boards and NB-IoT Backpack, brand new NB-IoT enabler product powered with U-blox's SARA R410M 02B LTE-M and NB-IoT powered module that supports TCP/IP and UDP/IP protocols. This workshop introduces the participant to ESPectro32 as "things" in IoT, and the concept of LPWA network and NB-IoT as one of the LPWA network technology.
Project for the WHD global 2017 hackathon with Arduino Intel Edison and Intel IoT analytics.
The aim of the project is use the Intel IoT platform hosted in 1&1 cloud servers to make a demo of how easy you can connect any “thing” like solar power panels to Internet.
By AWS & Espressif
Learn about Amazon FreeRTOS and the Espressif Systems’ ESP32-DevKitC. Determine how this fits into an IoT solution and look at examples of using cloud services in IoT microcontroller-based devices.
Open Sound Control as Middleware for Games Accessibility and Body-movement Co...Alasdair Thin
This presentation gives an overview of the Open Sound Control (OSC) protocol and how it can be used to network enable hardware and software in order to increase accessibility by facilitating all manner of controllers to be used to play video games.
Celebrating Arduino Day in Federal University of Technology, Minna, Nigeria.
This slides gives a basic introduction to what arduino is and gives a picture tour of what has been done with arduino in Federal University of Technology, Minna
Smartphones, tablets, TVs, cars and smartwatches: Android is everywhere enabling users and developers with rich set of applications, libraries and services. Android Things brings such a power to virtually any object, any “thing”: using a low-cost (yet powerful) board, developer can add intelligence and connectivity to home, industries, vehicles and even medical appliances. This presentation introduces practical concepts around the Android Things platform and how to have fun with it.
Low-cost microcontrollers are being used more and more often in embedded applications that previously may have used a microprocessor. Microcontrollers often run a real-time operating system (RTOS) rather than a full operating system like Linux. In this webinar we introduce FreeRTOS, a popular RTOS for microcontrollers that has been ported to 35 microcontroller platforms.
Eclipse Edje: A Java API for MicrocontrollersMicroEJ
The Eclipse Edje project, initiated by MicroEJ, defines a standard high-level Java API for accessing hardware features delivered by 32-bit microcontrollers for using serial links, general purpose inputs/outputs, or digital/analog converters. MCUs are small, low-cost, low-power processors designed to run software in resource-constrained environments: low memory (typically KB), flash (typically MB) and frequency (typically MHz). MCUs are provided by silicon vendors along with evaluation kits and are typically the ideal vectors for large scale deployments of low-power and cost-effective IoT, embedded or wearable devices. Edje aims at unifying and easing the programming of apps for MCUs with the largely adopted Java language.
The Embedded system is a short type computer with a programmable logic unit, a memory unit, and peripheral input/output devices.Here I have discussed all details and information on embedded systems.
Every wondered how to make your code physically interact with things in the real world? Got a home automation project in mind? In this presentation we will cover:
o) How to get started with Raspberry Pi and C#
o) The numerous sensors and actuators you can control
o) How to navigate basic electronics
o) Different interfaces and how to program them
o) Demonstrations of devices at work
o) Azure IoT Hub to control your code from the cloud
"JavaME + Android in action" CCT-CEJUG Dezembro 2008Vando Batista
Mini-cursos de JavaME e Android no evento do CEJUG Café com Tapioca, em Dezembro de 2008.
1. Introdução: overview do desenvolvimento em Java para dispositivos portáteis/móveis
2. Java ME in action: tutorial hands-on de desenvolvimento (mini-curso)
3. Android in action: tutorial hands-on de desenvolvimento (mini-curso)
Autor: Vando Batista
Hi,
My name is Rohan Narula. I am a Fresh Graduate from The University of Texas at Arlington (MS Electrical Engineering) seeking full-time opportunities from June 2017. My specializations are in Embedded Systems / Firmware Development, Automation & Controls.
Lab Handson: Power your Creations with Intel Edison!Codemotion
by Francesco Baldassarri - Come along and play with Intel Edison, for the Internet of Things? Learn about the Developer Kit for IoT, chose your preferred environment and test it – or test all the possibilities? We will be providing information and hands on training for developers interested in testing our solutions in C/C++, Javascript, Arduino, Wyliodrin and Python. Just bring you laptop and we will help you to get started. We will also provide information about our Cloud Analytics platform, and test hardware samples with the Grove Starter Kit – Intel IoT Edition. Visit us anytime and start making! What will you make?
Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online.
Android Things, from mobile apps to physical worldStefano Sanna
Presented at CODEMOTION 2018 - Rome.
The large and vibrant community of Android developers can now leverage all the libraries, services and knowledge to move from mobile towards the IoT world. The key for success is that even the existing code could be shared in the same project to target mobile, wearables and now embedded boards. This talk will explain what Android Things is and many of its features, giving some practical example on how to integrate code for mobile platform.
Queste slide introducono la tecnologia iBeacon, partendo dai fondamenti di Bluetooth Low Energy, con un approfondimento sull'implementazione di un beacon scanner su Android. Presentate a Codemotion 2015 ROMA.
While augmented-reality aims to enrich reality with data coming from the phone, the rich set of interfaces and sensor the equips modern device open new possibilities to enhance user experience automating tedious processes, bringing security and new business opportunities. The talk shows how to use latest Location API, Bluetooth classic and Bluetooth Low Energy and other technologies to empower user experience on real world.
Mentre l’IoT porta sempre più oggetti sulla rete globale, Bluetooth Low Energy (BLE), porta l’interazione tra smartphone e oggetti fisici ad un nuovo livello di pervasività. “Magico” come Bluetooth, “prossimo” come NFC, “fisico” come l’ambiente che ci circonda, BLE facilita e incoraggia l’interfacciamento a basso costo con qualsiasi oggetto e riapre (finalmente) il dominio dei wearable e dell’indoor-navigation, garantendo bassi consumi e lunga autonomia.
Conquistato il mercato degli smartphone e avviato l'attacco al mondo dei tablet, Android si appresta a diventare protagonista del display più grande e più diffuso: la televisione. La piattaforma Google TV, recentemente aggiornata nel software e nell'hardware, rappresenta un'evoluzione importantissima e allo stesso tempo estremamente accessibile per gli sviluppatori Android: senza neppure una API aggiuntiva, il sistema operativo consente di scrivere app perfettamente adattate alla nuova UI e ai nuovi controller. Il talk presenta la piattaforma, il set-top box Sony e un'app dimostrativa.
Guest seminar del corso "Applicazioni per dispositivi mobili" tenuto presso l'Università degli Studi dell'Aquila. Giugno 2012. Il seminario introduce i concetti fondamentali della tecnologia NFC e mostra l'utilizzo della modalità reader/writer in ambiente Android.
Android & Bluetooth: hacking e applicazioniStefano Sanna
Uso di Bluetooth su Android 1.x e Android 2.x, con demo basata su Arduino Bluetooth e SensPod. Talk presentato alla conferenza whymca 2010 (http://www.whymca.org).
Presentata a Java Day 2010 ROMA.
Bluetooth e' la tecnologia di wireless piu' utilizzata per l'interfacciamento a corto raggio tra device mobili. Android 1.x non offre agli sviluppatori la possibilita' di accedere allo stack Bluetooth e anche la versione 2.0 del sistema operativo pone alcune limitazioni rispetto alle potenzialita' della piattaforma. Questo talk descrive la tecnica per accedere a tutte le funzionalita', oltre ad una descrizione delle nuove feature di Android 2.0 e una demo con Arduino Bluetooth.
Android è la piattaforma aperta di mobile computing sviluppata dalla Open Handset Alliance e sostenuta da Google. Basata su Linux e dotato di un ambiente Java ottimizzato e una ricca libreria di classi, Android si candida per essere l'ambiente applicativo ideale per la telefonia cellulare. Dopo aver illustrato l'architettura del framework e l'IDE di sviluppo, vedremo la realizzazione di una applicazione Java, sfruttando le librerie di Android e testandola sull'emulatore e su un terminale HTC G1. Si vedra' come realizzare una user interface, conoscere e utilizzare le semplici ma potenti funzionalità disponibili. In chiusura si fara' un confronto critico tra Android, iPhone e Java ME.
Arduino e' una piattaforma hardware/software rilasciata sotto licenza Creative Commons che permette la realizzazione oggetti fisici interattivi, in grado di utilizzare un ricco insieme di sensori e attuatori. Il seminario illustra come creare una piccola stazione di rilevamento di dati ambientali basata su Linux e accessibile via web.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
4. Program the (Real) World
• Wireless sensor networks open new exciting
scenarios:
> pervasive monitoring of environment and structures
> massive distributed intelligence
> urban smart objects
• Programmable Objects for Real World
> connected: the Internet of Things
> autonomous: local CPU, local memory, local code
> environment-aware: sensors
> safe and robust
4
5. Sensors: New Frontier of Interaction
• To be programmable and connected is not enough!
• The ability to “perceive” the surroundings is the next
interaction frontier for consumer and mobile devices
• Gaming console, mobile phones, automotive
appliances, embedded systems: any object is
expected to “sense” and act according to physical
quantity such as temperature, light, acceleration,
position, humidity, proximity...
5
6. Sensors in the Java ME World
• Java ME is leading technology for mobile
applications, ranging from cellular phones to
embedded systems
• A rich set of standard API enables multimedia
capabilities, 2D and 3G graphics, local and remote
connectivity, location, NFC...
• The Java Community Process has published the
Mobile Sensor API (JSR 256) for accessing devices
such as accelerometers, thermometers, light sensor
6
7. Introducing the Project Sun SPOTs
Small Programmable Object Technology
• Project from Sun Laboratories
• Platform for intelligent wireless
sensors network
• Live-laboratory for implementing
new computing scenarios:
> The (Inter)net of Things
> Program the world
7
9. SPOTs Hardware
• Processor Board
> 180 MHz 32 bit ARM920T core
512K RAM/4M Flash
> 2.4 GHz IEEE 802.15.4 radio
with integrated antenna
> USB interface
> 3.7V rechargeable 720 mAh
lithium-ion battery
> 32 uA deep sleep mode
9
10. SPOTs Hardware
• Demo Sensor Board
> 2G/6G 3-axis accelerometer
> Temperature sensor
> Light sensor
> 8 tri-color LEDs
> 6 analog inputs, 2 switches
> 5 general purpose I/O pins
> 4 high current output pins
10
11. SPOTs Software
• Squawk Virtual Machine
> Fully capable J2ME CLDC 1.1
Java VM with OS functionality
> VM executes directly
out of flash memory
> Device drivers written in Java
> Automatic battery management
11
13. Free-Range and Basestation
• Sun SPOT Development Kit provides:
> Two free-range SPOTs, equipped with Processor Board,
radio interface, Demo Sensor and battery
> One basestation SPOT, with Processor Board and radio
interface
> SDK for Windows, Mac OS X, Linux
> USB cable
13
14. Development
• SDK comprises libraries and utilities for compiling
and packaging bytecode, updating SPOTs firmware,
running basestation applications
• SDK is based on Ant tasks and can be integrated in
any IDE, e.g. Netbeans
• SPOTs support remote installation, execution and
debugging of applications through wireless
connection
14
15. Applications
• Sun SPOT Applications
> Run on free-range SPOTs
> CLDC 1.1 and IMP 1.0 application model
> Full access to peripherals and demo board
• Sun SPOT Host Applications
> Run on a SPOT configured as basestation
> Stand-alone application model
> Simultaneous access to SPOT and JSE libraries
15
16. Classes, Devices, Sensors, Interfaces
• There are over 400 classes documented in the Sun
SPOT javadoc: nearly three times the MIDP 2.0
specification! :-)
• The Sun SPOT device library contains drivers and
high-level classes to access physical interfaces and
peripherals:
> ILed
> IlightSensor, IAccelerometer3D
> IFlashMemoryDevice
> IPowerController
> IPWMOutput
> IAT91_PIO, IAT91_IAC...
16
17. Radio Communication
• Sun SPOTs come with low-range IEEE 802.15.4
radio module
• Communication API is based on Generic
Connection Framework and provides:
> RadioConnection (radio://) from stream-based
communication
> RadiogramConnection
(radiogram://) for datagram
based communication
> basestation may act as
proxy for HTTP connections
17
18. Sun SPOTs Projects
• Many projects based on Sun SPOTs have been
published on the Web: just use your preferred
search engine or video repository to find them!
18
19. Mashing-up Hardware and Software
• The Sun SPOTs let developers build their custom
interfaces for virtually any kind of electronic
peripheral:
> sensors
> motors
> microcontrollers
> radio equipment
19
20. Be Careful with Solder... :-(
• However, soldering and designing circuits and
interfaces for physical components require some
specific expertise
• Wrong assembly or accidental short circuit may
definitively damage your SPOTs and/or your
peripherals
• How can we exploit Sun SPOTs potential without
setting-up a electronic lab?
20
21. Fun for Everyone! :-)
• Thanks to the basestation, we can use the PC as
gateway to any resource such as USB devices,
network hosts and Bluetooth peripherals
• LEGO Mindstorms NXT kit provides:
> Easy and flexible
> 3 outputs
> 4 inputs
> Bluetooth and USB interfaces
> Open source iCommand Java library provides easy and
powerful API for remote NXT control
21
23. Overview
• The Gesture Controller
> Runs on a free-range SPOT
> Reads tilt degrees on X and Y axes
> Sends message to Vehicle Controller
• The Vehicle Controller
> Runs on the basestation
> Receives messages from Gesture Controller
> Sends commands to NXT Vehicle
23
24. The Gesture Controller (source.1)
public class SunSpotApplication extends MIDlet {
private IAccelerometer3D accelerometer =
EDemoBoard.getInstance().getAccelerometer();
private ISwitch switch1;
private int st=0;
private RadiogramConnection conn;
protected void startApp() throws
MIDletStateChangeException{
switch1 =
EDemoBoard.getInstance().getSwitches()[0];
runSwitchWatcher();
}
24
25. The Gesture Controller (source.2)
protected void pauseApp() {
// This will never be called by the Squawk VM
}
protected void destroyApp(boolean arg0)
throws MIDletStateChangeException {
}
25
30. The Vehicle Controller (source.1)
public class SunSpotHostApplication {
private static final int FORWARD = 0;
private static final int BACKWARD = 1;
private static final int RIGHT = 2;
private static final int LEFT = 3;
private static final int STOP = 4;
private int last = STOP;
private static Pilot pilot; // iCommand Java NXT Library
public static void main(String[] args) {
SunSpotHostApplication app = new
SunSpotHostApplication();
startNXT();
app.start();
}
30
31. The Vehicle Controller (source.2)
private static void startNXT() {
try {
NXTCommand.open();
pilot = new Pilot(2.1f,4.4f,Motor.A, Motor.C,true);
} catch(Exception e) {
e.printStackTrace();
}
}
31
36. Conclusions
• Sensors are the new frontier of interaction
• The Sun SPOTs are the quot;cool Java wayquot; to create a
quot;live labquot; for innovative scenarios
of ubiquitous and
pervasive computing
• Extended class library
and full integration of
basestation with
desktop PC gives
everybody the opportunity to HAVE FUN with SPOT
36
37. References
• Sun SPOT World
> http://www.sunspotworld.com
• Sun SPOTs and Java robotics on java.net
> https://sunspot-robotics.dev.java.net/
> http://community.java.net/robotics/
• Sun SPOT purchasing:
> http://www.sunspotworld.com/products
> http://store.systronix.com
• LEGO Mindstorms NXT
> http://mindstorms.lego.com
> http://lejos.sourceforge.net 37
38. Contacts
• Stefano Sanna
> gerdavax@tiscali.it – http://www.gerdavax.it
• JUG Sardegna ONLUS
> http://www.jugsardegna.org
• Java Mobile Developers Forum
> http://www.jmdf.org
38