Learn about DK 8 and Device I/O Library
Also, see the lab how to install from scratch Rasbian, JDK 8, Device I/O on a RaspberryPi.
See the code from github and build your own machine
Building your own RC Car with Raspberry PiJeff Prestes
In this presentation we talk about basic concepts of Internet of Things, Java for Embedded, Android, Raspberry Pi and a practical workshop how to create your own IoT RC Car - Brasilino - and rent it.
DEVOXX Let's Get Physical: I/O Programming with Java on the Raspberry Pi usin...savageautomate
Presented @ DEVOXX 2014
LET'S GET PHYSICAL: I/O PROGRAMMING WITH JAVA ON THE RASPBERRY PI USING PI4J
Wednesday at 14:00 - 15:00 @ ROOM 4
Robert Savage (@savageautomate)
http://cfp.devoxx.be/2014/talk/JWA-8162/Let's_Get_Physical:_I%2FO_Programming_with_Java_on_the_Raspberry_Pi_using_Pi4J
http://www.savagehomeautomation.com/projects/pi4j-devoxx-2014.html
RASPBERRY PI WITH JAVA 8 + Pi4J (Devoxx 2014)savageautomate
Presented @ DEVOXX 2014
RASPBERRY PI WITH JAVA 8
UNIVERSITY SESSION
Tuesday at 13:30 - 16:30 @ ROOM 9
Stephen Chin (@SteveOnJava)
James Weaver (@JavaFXpert)
Robert Savage (@savageautomate)
http://cfp.devoxx.be/2014/talk/IWS-5192/Raspberry_Pi_with_Java_8
http://www.savagehomeautomation.com/projects/pi4j-devoxx-2014.html
These slides are the Pi4J portion of the presentation presented by Robert Savage.
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...Kevin Hooke
Slides from session CON3189 presented by Kevin Hooke (@kevinhooke) and Julio Palma (@restalion) at JavaOne 2016 - Introduction to Java ME Development for the Raspberry Pi
Radio related project ideas using a Raspberry Pi. Covers use of RTL SDR USB, WSPR using WsprryPi, and Packet Radio using Direwolf, ax25 and PiLinBPQ (BPR32)
Raspberry pi pico projects raspberry pi projectsIsmailkhan77481
This tutorial will show you how to use solar panels to power your Raspberry Pi. Using solar electricity to power your Pi will allow you to create solar-powered green Pi projects.
Building the Internet of Things with Raspberry PiNeil Broers
With the advent of the low cost Raspberry Pi computer, anyone with a soldering iron and some basic Python skills can take everyday objects and transform them into fully networked, smart devices.
In this talk, I will show you how I hacked a Raspberry Pi into my home alarm system, turning my network of IP cameras into motion triggered sensors. I will show you how to build basic input and output circuits and introduce you to the RPi.GPIO Python module. We’ll talk about how you can build a RESTful server on your Raspberry Pi to enable remote access. And finally, more ideas for hacking everyday objects around the home!
No prior electronics knowledge required.
Building your own RC Car with Raspberry PiJeff Prestes
In this presentation we talk about basic concepts of Internet of Things, Java for Embedded, Android, Raspberry Pi and a practical workshop how to create your own IoT RC Car - Brasilino - and rent it.
DEVOXX Let's Get Physical: I/O Programming with Java on the Raspberry Pi usin...savageautomate
Presented @ DEVOXX 2014
LET'S GET PHYSICAL: I/O PROGRAMMING WITH JAVA ON THE RASPBERRY PI USING PI4J
Wednesday at 14:00 - 15:00 @ ROOM 4
Robert Savage (@savageautomate)
http://cfp.devoxx.be/2014/talk/JWA-8162/Let's_Get_Physical:_I%2FO_Programming_with_Java_on_the_Raspberry_Pi_using_Pi4J
http://www.savagehomeautomation.com/projects/pi4j-devoxx-2014.html
RASPBERRY PI WITH JAVA 8 + Pi4J (Devoxx 2014)savageautomate
Presented @ DEVOXX 2014
RASPBERRY PI WITH JAVA 8
UNIVERSITY SESSION
Tuesday at 13:30 - 16:30 @ ROOM 9
Stephen Chin (@SteveOnJava)
James Weaver (@JavaFXpert)
Robert Savage (@savageautomate)
http://cfp.devoxx.be/2014/talk/IWS-5192/Raspberry_Pi_with_Java_8
http://www.savagehomeautomation.com/projects/pi4j-devoxx-2014.html
These slides are the Pi4J portion of the presentation presented by Robert Savage.
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...Kevin Hooke
Slides from session CON3189 presented by Kevin Hooke (@kevinhooke) and Julio Palma (@restalion) at JavaOne 2016 - Introduction to Java ME Development for the Raspberry Pi
Radio related project ideas using a Raspberry Pi. Covers use of RTL SDR USB, WSPR using WsprryPi, and Packet Radio using Direwolf, ax25 and PiLinBPQ (BPR32)
Raspberry pi pico projects raspberry pi projectsIsmailkhan77481
This tutorial will show you how to use solar panels to power your Raspberry Pi. Using solar electricity to power your Pi will allow you to create solar-powered green Pi projects.
Building the Internet of Things with Raspberry PiNeil Broers
With the advent of the low cost Raspberry Pi computer, anyone with a soldering iron and some basic Python skills can take everyday objects and transform them into fully networked, smart devices.
In this talk, I will show you how I hacked a Raspberry Pi into my home alarm system, turning my network of IP cameras into motion triggered sensors. I will show you how to build basic input and output circuits and introduce you to the RPi.GPIO Python module. We’ll talk about how you can build a RESTful server on your Raspberry Pi to enable remote access. And finally, more ideas for hacking everyday objects around the home!
No prior electronics knowledge required.
Presentation on basics of computer programming and programming Raspberry Pi's using the Python Programming Language at the Raspberry Pi Demo Day at Toronto Reference Library on May 28, 2016.
Getting Started with Raspberry Pi and ArduinoChad Mairn
Arduino and Raspberry Pi are two names that get thrown around technology circles quite often, but do you know what they actually are and what they can do? Newbies and people with experience with these open source electronics will Iearn about these amazing DIY tools. An Arduino is an open-source electronics micro-board and is used to develop interactive objects. A Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV. In this webinar you will:
• Learn what an Arduino and Raspberry Pi are
• Compare the Arduino and Raspberry Pi and determine which one is right for you
• Explore the Arduino and Raspberry Pi Development Environments
• See innovative Arduino and Raspberry Pi projects
• Start a resource kit for future project ideas
Getting started with AGL using a Raspberry PiLeon Anavi
Automotive Grade Linux (AGL) All Members Meeting (AMM) 2020
In 2016 Automotive Grade Linux was ported to Raspberry Pi and since then this low-cost single board computer has become a preferred getting started platform among the community. Although Raspberry Pi doesn't match the hardware capabilities of high-end industrial and automotive hardware platforms, its wide availability and low-cost makes it a great choice for rapid prototyping and exploring AGL.
This presentation will provide guidelines and exact steps for building AGL image for Raspberry Pi. We will explore the past and present of AGL on Raspberry Pi, including practical experience for supporting Wayland, PipeWire, libostree for software over the air updates and various hardware peripherals.
The talk is appropriate for beginners. No previous experience with AGL is required. Hopefully, the presentation will encourage more people to join and contribute to our open source community!
Raspberry Pi model A. With the camera, it turns
out there is just enough headroom in the on-board
thermal resettable fuse to run directly off the serial
connector. If you use a model B, you will have to get
power elsewhere. A model A+ or B+ should work, but
we haven’t tried, yet
Rapidly developing IoT (Internet of Things) applications - Part 2: Arduino, B...Raul Chong
These are the slides used in the Toronto-SMAC meetup:
"Rapidly developing IoT (Internet of Things) applications - Part 2"
http://www.meetup.com/Toronto-SMAC-Social-Mobile-Analytics-Cloud-Meetup/events/195132732/
Topics covered:
- Arduino and sensors: Bus simulation project
- Freakduino and solar panels: Vibrometer project
- Raspberry-Pi: Home security system (part 2)
- Oculus Rift: Developing an Educational game (part 2)
- Beacons: Tracking customer patterns at a retail store
- Introduction to Node-Red
Smart Wireless Surveillance Monitoring using RASPBERRY PIKrishna Kumar
This is a slide about the smart surveillance monitoring system using raspberry pi.
It includes the full details of the procedure , component description and the screenshots
RaspberryPi + IoT - Lab to switch on and off a light bulbJeff Prestes
A brief presentation about IoT and RaspberryPi.
After, a simple Lab that teach to install WiringPi and WebIOPi use them to switch on and off a light bulb
Presentation on basics of computer programming and programming Raspberry Pi's using the Python Programming Language at the Raspberry Pi Demo Day at Toronto Reference Library on May 28, 2016.
Getting Started with Raspberry Pi and ArduinoChad Mairn
Arduino and Raspberry Pi are two names that get thrown around technology circles quite often, but do you know what they actually are and what they can do? Newbies and people with experience with these open source electronics will Iearn about these amazing DIY tools. An Arduino is an open-source electronics micro-board and is used to develop interactive objects. A Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV. In this webinar you will:
• Learn what an Arduino and Raspberry Pi are
• Compare the Arduino and Raspberry Pi and determine which one is right for you
• Explore the Arduino and Raspberry Pi Development Environments
• See innovative Arduino and Raspberry Pi projects
• Start a resource kit for future project ideas
Getting started with AGL using a Raspberry PiLeon Anavi
Automotive Grade Linux (AGL) All Members Meeting (AMM) 2020
In 2016 Automotive Grade Linux was ported to Raspberry Pi and since then this low-cost single board computer has become a preferred getting started platform among the community. Although Raspberry Pi doesn't match the hardware capabilities of high-end industrial and automotive hardware platforms, its wide availability and low-cost makes it a great choice for rapid prototyping and exploring AGL.
This presentation will provide guidelines and exact steps for building AGL image for Raspberry Pi. We will explore the past and present of AGL on Raspberry Pi, including practical experience for supporting Wayland, PipeWire, libostree for software over the air updates and various hardware peripherals.
The talk is appropriate for beginners. No previous experience with AGL is required. Hopefully, the presentation will encourage more people to join and contribute to our open source community!
Raspberry Pi model A. With the camera, it turns
out there is just enough headroom in the on-board
thermal resettable fuse to run directly off the serial
connector. If you use a model B, you will have to get
power elsewhere. A model A+ or B+ should work, but
we haven’t tried, yet
Rapidly developing IoT (Internet of Things) applications - Part 2: Arduino, B...Raul Chong
These are the slides used in the Toronto-SMAC meetup:
"Rapidly developing IoT (Internet of Things) applications - Part 2"
http://www.meetup.com/Toronto-SMAC-Social-Mobile-Analytics-Cloud-Meetup/events/195132732/
Topics covered:
- Arduino and sensors: Bus simulation project
- Freakduino and solar panels: Vibrometer project
- Raspberry-Pi: Home security system (part 2)
- Oculus Rift: Developing an Educational game (part 2)
- Beacons: Tracking customer patterns at a retail store
- Introduction to Node-Red
Smart Wireless Surveillance Monitoring using RASPBERRY PIKrishna Kumar
This is a slide about the smart surveillance monitoring system using raspberry pi.
It includes the full details of the procedure , component description and the screenshots
RaspberryPi + IoT - Lab to switch on and off a light bulbJeff Prestes
A brief presentation about IoT and RaspberryPi.
After, a simple Lab that teach to install WiringPi and WebIOPi use them to switch on and off a light bulb
Chapter 10:Understanding Java Related Platforms and Integration TechnologiesIt Academy
Exam Objective 6.1 Distinguish the basic characteristics of the three Java platforms: J2SE, J2ME, and J2EE, and given a high-level architectural goal, select the appropriate Java platform or platforms.
I can identify key technological advancements that helped in making our knowledge of space expand. My research will show the past, but I will also predict what future advancements may stretch our limits even more.
Will SCADA Systems Survive? The Future of Distributed Management SystemsTibbo
What are common features of IIoT and SCADA/HMI and differences between them? And what advantages do Intenet of Things Platforms have over SCADA Systems? Find out answers in the Presentation.
Why apply IoT in agriculture? Special aspects to consider for
IoT in agriculture. IoT application in this field.
More information on our website: http://aggregate.tibbo.com/industries/agriculture.html
How to make your Money Machine with Internet of ThingsJeff Prestes
In this presentation & workshop I explain basics concepts of Internet of Things, Raspberry Pi, Beacons, Java for embedded devices and Android. All this to you become a Polymath developer and create your own Vending Machine and make money.
The Raspberry Pi is a series of small single-board computers developed Raspberry Pi
Foundation to promote the teaching of basic computer science in schools and in developing
countries. A Raspberry pi is a mini computer with IO pins so we can interface devices to
develop an embedded board
Raspberry Pi - Unlocking New Ideas for Your LibraryBrian Pichman
Join Brian Pichman as he uncovers the world of microcomputing; which are low cost, small computers (ranging from the size of a credit card to a stack of credit cards). Brian will cover Raspberry Pi's and how they can be used in your library; from attendance counters, event displays, library programming and more.
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)jaxLondonConference
Presented at JAX London 2013
Public, private, and hybrid; software, platform, and infrastructure. This talk will discuss the current state of the Platform-as-a-Service space, and why the keys to success lie in enabling developer productivity, and providing openness and choice. We'll do this by considering the success of Open Source in general, look at the Cloud Foundry project, and find out why Cloud Foundry-based PaaSes are the best places to host your applications written in Java and other JVM-based languages.
The following presentation contains references on how to configure hadoop on a single pi, initially. In the later part of the presentation we'll be configuring hadoop in and out. And also will be experimenting with an application on HadoopPY
Similar to Java Device I/O at Raspberry PI to Build a Candy Vending Machine (20)
Esta apresentação explica como funciona o Quorum, um fork do Ethereum, com recursos para uso em situações corporativas de cadeia de suprimentos, financeiro ou processos inter empresariais
Aumento da eficácia jurídica com Smart ContractsJeff Prestes
<pt-br>Hoje empresários em alguns cenários temem fazer investimentos por falta de transparência e por insegurança jurídica. Ou ainda pior, por falta de conhecimento e assessoria, fazem negócios sob contratos que não são respeitados por falta de mecanismos de controle rápidos e incorruptíveis. No mundo onde as transformações de negócios acontecem em dias ou até mesmo horas o tempo é algo crucial. Entretanto, o sistema jurídico não acompanhou. O sistema jurídico brasileiro, em particular, é lento, caro e algumas vezes ineficaz pois mesmo com ganho de causa o tempo perdido já trouxe prejuízos.
Com o modelo híbrido de contrato: algumas cláusulas em papel e outras em contratos inteligentes digitais em Blockchain muitas inseguranças jurídicas podem ser superadas.
Nesta palestra, Jeff Prestes, vai apresentar um modelo simples de pagamento e distribuição de direitos autorais e, junto com a plateia, debater outras situações onde esse modelo híbrido pode trazer maior segurança e efetividade jurídica ao direito empresarial.
Physical Web is an important component for the Smart Cities and for monetizing IoT projects. This talk explain what is it and how to implement it using Eddystone protocol.
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsJeff Prestes
More mobile technologies are empowering people and machines to become more autonomous. In the same way as people, machines need ways to be identified to other sources in a connected environment. This begs the question, why not give a URL to objects? With Eddystone, a new Google specification for Beacon data, this is possible, and it works with both Android and iOS based devices.
With it you can implement what physical-web.org stands
Use BI tools to help you to measure your A/B Tests.
Here we talk about why use it, strategies to implement and examples how do we get this data comparison thru the time
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...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.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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/
3. Agenda
What is not IoT
What is IoT
Polymath required skills
Small history of RaspberryPi
RaspberryPi Components and slots
Raspbian – a Debian/Linux to RasberryPi
Java support to SOC devices
Java Device I/O
Lab
Configure WiFi network (static / dhcp / resolv.conf)
Upgrade the Raspbian
Install WiringPi
Install Java for Embedded devices
4. This is not IoT… (IMHO)
This is so cool but this is Eletronic!!
5. And this is not new…
(who has gray hair can say… P)
6. What is IoT?
Internet
Million of Web
Services
(PayPal, Twitter,
Google, Netflix,
Facebook)
Things
Billions of sensors,
motors, displays,
appliances, toys,
cars, stores, robots
+
7. And to work with IoT you’re going
to need more skills
You’re going to need to a Polimath
A polymath (Greek: πολυμαθής, polymathēs,
"having learned much")[1] is a person whose
expertise spans a significant number of different
subject areas; such a person is known to draw
on complex bodies of knowledge to solve
specific problems. The term was first used in the
seventeenth century; the related term,
polyhistor, is an ancient term with similar
meaning.
(Source: Wikipedia - http://en.wikipedia.org/wiki/Polymath)
8. Italian Polymath. What was da Vinci? Scientist?
Engineer? Mathematic? Painter? Sculptor? Musician?
Botanic? Anatomist?
Source: Wikipedia - http://en.wikipedia.org/wiki/Leonardo_da_Vinci
11. History
Designed in UK, University of
Cambridge, 2006, to be a chip alternative
to computers to students. Also a way to
students rediscover how cool is to work
with Robotic.
It has been projected to educational
purposes but can used in Commercial
ones too.
Team that have concepted it: Eben Upton, Rob Mullins, Jack Lang and Alan Mycroft
Raspberry Pi Foundation was created and first alpha boards were tested, 2011
Sells begins April, 2012
Model B+ is released in November, 2012
More than 5 Million already have been sold
12.
13. Raspbian is an unofficial port of Debian Wheezy armhf with compilation settings
adjusted to produce optimized "hard float" code that will run on the Raspberry Pi.
Note: Raspbian is not affiliated with the Raspberry Pi Foundation. Raspbian was created by a small,
dedicated team of developers that are fans of the Raspberry Pi hardware, the educational goals of the
Raspberry Pi Foundation and, of course, the Debian Project.
Best OS to Raspberry Pi nowadays. If you use Ubuntu, you’re going to feeling in
home. All basic Unix commands works on it and almost all basic server-side too:
Apache, Nginx, PHP, Java, Python, MySQL
Default user: pi / Default password: raspberry
And never forget: sudo apt-get install and be happy :D
To install it in your MicroSD card (Recommend 8Gb or more)
http://www.raspberrypi.org/documentation/installation/installing-images
14. JDK SE for
Embbeded Devices
Since JDK 7, Java SE SDK for Desktop was ported to ARM chips and
JDK 8 is already available.
As Raspberry Pi is based in a ARM chip and runs over a Linux
distribution you’re able to use Java SE
You can run your favorite Java Application Server or create JavaFX
applications
(you don’t need to learn JME or Python anymore :D!)
15. Device I/O API
Originally part of Java ME library, The Device I/O project is an open source,
Java-level API for accessing generic device peripherals on embedded
devices based on JavaSE. It’s under OpenJDK project.
https://wiki.openjdk.java.net/display/dio/Main
http://docs.oracle.com/javame/8.0/api/dio/api/index.html
16. Differences between
Device I/O and PI4J
PI4J is an excellent API, however it’s only for RaspberryPi if you would
need to run your APP into a BeagleBone board will have to rewrite all
GPIO access code.
Device I/O, as other Java API, brings abstraction layer over GPIO access
functionallity saving your time and complexity. Write once run anywhere :D
17. Differences between
Device I/O and PI4J
Also, GPIO map is different in two APIs, check:
Device I/O PI4J
http://docs.oracle.com/javame/8.0/get-started-rpi/piportsapdx.htm
http://pi4j.com/pins/model-b-plus.html
18. Device I/O API
Device I/O has a configuration file for each board
The Raspberry PI file is
dio.properties-raspberrypi
It has definitions for each GPIO ports
Thus Device I/O can works with different SoC Computers
19. Device I/O API
Device I/O requires special JDK permissions to access GPIO
Device I/O comes with gpio.policy file
You can map each Pin you’re planning to use or only:
grant {
permission jdk.dio.gpio.GPIOPinPermission "*:*";
permission jdk.dio.DeviceMgmtPermission "*:*", "open";
};
(okay, don’t do this in production kids)
26. Configure your wifi network using static IP:
sudo nano /etc/network/interfaces
(file content below)
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.20.218
netmask 255.255.255.0
gateway 192.168.20.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet static
27. Configure your wifi network using DHCP (most used):
sudo nano /etc/network/interfaces
(file content below)
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
28. sudo apt-get update
sudo apt-get dist-upgrade
//Upgrades Raspbian
sudo reboot
//Use Reboot to restart Raspbian safetly
sudo halt
//Use halt to turn off Raspbian safetly
29. sudo nano /etc/resolv.conf
(file content below)
nameserver 8.8.8.8
nameserver 8.8.4.4
//Google DNS servers
Configure the DNS Servers
30. Wiring Pi
It is GPIO Interface library for the Raspberry Pi. It’s written in C for the
BCM2835 used in the Raspberry Pi.
WiringPi includes a command-line utility gpio which can be used to
program and setup the GPIO pins.
31. Wiring Pi
$ sudo apt-get install git-core
$ git clone git://git.drogon.net/wiringPi
$ cd wiringPi
$ git pull origin
$ ./build
Installation
$ gpio -v
$ gpio readall
Test
32. Get back to your user home directory
(in this case you’re using pi user, remember?)
$ cd ~/
33. Downloading
JDK SE 8 for Embedded
I will have to download it from your computer as you will have to accept
Oracle’s terms and conditions.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-arm-downloads-2187472.html
Mac and Linux users: use scp to copy the file
$ scp jdk-<version>-linux-arm-vfp-hflt.gz pi@<your-device-
ip>:/home/pi/jdk-<version>-linux-arm-vfp-hflt.tar.gz
(note that I’ve changed the extention
because the downloaded file came only with .gz extention)
Windows users: use WinSCP to do this
34. Installing
JDK SE 8 for Embedded
At PI home directory execute:
$ sudo mkdir -p /opt/java
$ sudo chown root:root /opt/java
$ cd /opt/java
$ sudo tar xvzf ~/jdk-<version>-linux-arm-vfp-hflt.tar.gz
Set default java and javac to the new installed JDK.
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk-<version>/bin/javac
1
$ sudo update-alternatives --install /usr/bin/java java /opt/jdk-<version>/bin/java 1
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
After all, verify with the commands with -verion option.
$ java -version
$ javac -version
35. Installing
JDK SE 8 for Embedded
Double check if java version is correct for root too:
$ sudo java -version
$ sudo javac –version
This is important because will you need to run your Java application that access
GPIO with root privileges.
36. Installing
JDK SE 8 for Embedded
Define JAVA_HOME environment variable:
$ sudo nano /etc/environment
And add to it:
JAVA_HOME="/opt/jdk-<version>"
Do the same in your bash profile
$ nano ~/.bashrc
And add to it:
export JAVA_HOME="/opt/java/jdk-<version>"
export PATH=$PATH:$JAVA_HOME/bin
37. Installing
Java Device I/O
You’ll need to download and compile the library in your Raspberry PI.
Device I/O like other OpenJDK projects uses Mercurial to manage their source
code. You must install it into your Raspberry PI
$ sudo apt-get install mercurial
Create a directory to store the source code and compile it
$ mkdir deviceio
Download it
$ cd deviceio
$ hg clone http://hg.openjdk.java.net/dio/dev
38. Installing
Java Device I/O
Let’s compile it:
$ export PI_TOOLS=/usr
$ cd dev
$ make
After this, let’s install your Device I/O files in your JRE
$ cp -r build/deviceio/lib/*
$JAVA_HOME/jre/lib
43. Let’s use Wiring Pi to test the circuits
$ sudo gpio mode 1 output
$ sudo gpio mode 4 output
$ sudo gpio write 1 1
$ sudo gpio write 1 1
$ sudo gpio write 1 0
$ sudo gpio write 1 0
Our Lab: Create a Candy
Vending Machine
44. Copy the dio.jar compiled in your Raspberry Pi to your machine
$ scp ~/deviceio/dev/build/jar/dio.jar <your-
user>@<yourmachineip>:~/dio.jar
Or use yout WinSCP
Add it your Maven local repository
$ mvn install:install-file -Dfile=~/dio.jar -DgroupId=jdk.dio -
DartifactId=device-io -Dversion=1.0 -Dpackaging=jar -
DgeneratePom=true
Open the Netbeans and at Team->Git->Clone Repository
https://github.com/jeffprestes/candies-client-native-java.git
Our Lab: Create a Candy
Vending Machine
45.
46.
47. Copy the jar compiled with Dependencies to home’s directory of pi user.
Now it’s time to edit GPIO permissions in gpio.policy file
Copy it to home directory
$ cp ~/deviceio/dev/samples/gpio/gpio.policy ~/gpio.policy
And content must be like this
grant {
// permissions for using GPIO pin 18 GPIOLEDSample
permission jdk.dio.gpio.GPIOPinPermission ":18";
permission jdk.dio.gpio.GPIOPinPermission "0:18";
permission jdk.dio.DeviceMgmtPermission "GPIO18:18", "open";
permission jdk.dio.gpio.GPIOPinPermission ":24";
permission jdk.dio.gpio.GPIOPinPermission "0:24";
permission jdk.dio.DeviceMgmtPermission "GPIO24:24", "open";
};
Our Lab: Create a Candy
Vending Machine
48. Now, let’s start the machine application
$ sudo java
-Djdk.dio.registry=/home/pi/java/dio/config/dio.properties-raspberrypi
-Djava.security.policy=/home/pi/java/nativegpio/gpio.policy
-jar candies.jar iot.eclipse.org jeffprestes/candies/world machineusa 1883
Where:
iot.eclipse.org is the MQTT server
jeffprestes/candies/world is the queue
machineusa is the client name
1883 is the MQTT broker port
Our Lab: Create a Candy
Vending Machine
49. Our Lab: Create a Candy
Vending Machine
To buy
Create a Premier account in PayPal Sandbox
developer.paypal.com -> Dashboard -> Sandbox -> Accounts ->
Create Account
Later, goto candies.novatrix.com.br in your mobile phone and
use this user as a buyer