91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

我只會Java,憑什么不能玩轉樹莓派?GPIO操控竟比C++更優(yōu)雅~

上海晶珩電子科技有限公司 ? 2025-03-25 09:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

導語

當全球開發(fā)者默認將Python視為樹莓派的"母語"時,一個顛覆認知的工具鏈正在Java開發(fā)者群體中口口相傳——Pi4J讓Java代碼直接操控GPIO、I2C、SPI等硬件接口,而JBang更將開發(fā)門檻壓到不可思議的"單文件即運行",方便易用程度堪比Python腳本。

從2012年與初代樹莓派同步誕生,到如今擁抱Java 21甚至劍指JEP 454黑科技。當Java的跨平臺基因注入電子元件,當主流嵌入式開發(fā)框架集體轉身LTS版本之爭,一場屬于JVM的硬件革命正悄然改寫開發(fā)者的工具鏈認知...

Pi4J的歷史

Pi4J 項目于2012 年啟動,同年推出 Raspberry Pi,作為一種工具,為 Java 開發(fā)人員提供一個簡單、熟悉的面向對象接口庫,以訪問 Raspberry Pi 的低級 I/O 功能,包括GPIO、I2C、 SPI、PWM和串行通信

項目使命/目標

Pi4J 項目的使命是提供一個豐富、強大但使用簡單、Java 友好的 API 庫,實現(xiàn)對 Raspberry Pi 等嵌入式平臺的低級硬件 I/O 功能進行編程訪問。

7d3bb00c-0917-11f0-9434-92fbcf53809c.png

項目狀態(tài)

隨著整個 Java 生態(tài)系統(tǒng)和 Raspberry Pi 系統(tǒng)的發(fā)展,Pi4j 項目這些年來也在不斷發(fā)展。

由此產(chǎn)生了以下主要版本:

- 版本1.X:已棄用,基于 Java 8,更高版本是 Java 11。

https://www.pi4j.com/about/info-v1/

- 版本2.XX:基于 Java 11,完全重新設計的代碼庫。

https://www.pi4j.com/about/info-v2/

- 版本 3.XX:基于最新的V2和Java 21。

https://www.pi4j.com/about/info-v3/

2025-02-11 核心作者:Frank Delporte在他的Blog中提到

Pi4J 庫的開發(fā)面臨一個決策點……:“我們是否應該在現(xiàn)有項目和舊 Raspberry Pi 上堅持使用 Java 11(使用 ARMv6),還是繼續(xù)使用最新長期支持 (LTS) 版本中更好、性能更高的 Java 代碼? “

我們實際上想轉向 Java 22,因為它帶來了一種與 C 代碼交互的新方式,這要歸功于JEP 454:外部函數(shù)和內(nèi)存 API。由于這是 Pi4J 與 GPIO 交互的核心行為,因此可以更輕松地實現(xiàn)控制電子設備的新方法,這一點已得到證實第一個測試由 Robert “Eitch” 完成。但由于 Java 22 不是 LTS 版本,我們暫時不會采取此舉措。

我們詢問我們的用戶我們應該使用哪個最小 Java 版本,但正如預期的那樣,沒有一個明確的答案 ;-) 因此,我們與核心團隊一起做出了一些決定,這些決定使我們能夠將項目提升到“下一個水平”并且...... Java 21!。

- 我們將 Pi4J V2+ 的源代碼存儲庫重命名為pi4j-v2因為pi4j它包含所有 V2 以及未來 V3、V4……版本的源代碼。

- 未來版本(V3 及更新版本)支持的最低 Java 版本為 21。

開始上手

想要在 Raspberry Pi 上開始 Java 編程嗎?

JBang 是創(chuàng)建第一個程序來控制連接到 GPIO 引腳的電子元件的絕佳方式。

GITHUB 項目:github.com/Pi4J/pi4j-jbang

JBang 是什么?

JBang 讓學生、教育工作者和專業(yè)開發(fā)人員能夠以前所未有的輕松方式創(chuàng)建、編輯和運行獨立的 Java 程序。

想要無需設置即可立即學習、探索或使用 Java 嗎?

您是否喜歡 Java,但使用 python、groovy、kotlin 或類似語言進行腳本、實驗和探索?

您是否曾經(jīng)想過無需任何設置或只需極少的設置就能在任何地方運行 Java?

是否曾嘗試過 Java 11+ 支持直接在 shell 中運行 .java 文件,但覺得有點太麻煩?

JBang 讓您做到這一切!

在 Raspberry Pi 上開始使用 JBang

1.先決條件

- 帶有最新 Raspberry Pi OS 的 Raspberry Pi。

- 按照說明安裝 JBangjbang.dev/下載. 如果尚未安裝 Java,JBang 將安裝它。

https://www.jbang.dev/download/

#Install JBang$ curl -Ls https://sh.jbang.dev | bash -s - app setup#Check JBang by requesting its version$ jbang --version 0.109.0

- 可選:使用Visual Studio 代碼,免費的 IDE。

https://code.visualstudio.com/

# Install Visual Studio Code$ sudo apt install code

- 可選:在 Visual Studio Code 中安裝以下擴展:

- Language Support for Java(TM) by Red Hat

- JBang

https://marketplace.visualstudio.com/items?itemName=redhat.java

https://marketplace.visualstudio.com/items?itemName=jbangdev.jbang-vscode

2.示例腳本

GitHub 上的 Pi4J JBang 項目包含幾個示例來演示 JBang 和 Pi4J。每個java文件都是一個完整的可運行 JBang 應用程序。這意味著您不需要 Maven、Gradle 或其他 Java 構建工具。

https://github.com/Pi4J/pi4j-jbang

為了告訴 JBang 必須將該文件作為 Java 應用程序處理并做一些前期準備工作,每個文件的第一行是:///usr/bin/env jbang "$0" "$@" ; exit $?。

當應用程序需要依賴項時,它們在文件本身中以以下行開頭進行定義://DEPS。例如,要使用 Pi4J Core 庫://DEPS com.pi4j2.3.0。

每個提供的示例都包含有關文件本身內(nèi)部接線的更多信息,并且也在 Pi4J 網(wǎng)站上進行了解釋。

3.從 GitHub 獲取示例

您可以使用以下命令在終端中將包含示例的項目克隆到您的 Raspberry Pi:

$gitclonehttps://github.com/Pi4J/pi4j-jbang$cdpi4j-jbang

GitHub 項目中的示例有:

- 最小示例

https://www.pi4j.com/examples/jbang/jbang_minimal_example/

- 8x8 LED 矩陣

https://www.pi4j.com/examples/jbang/jbang_pi4j_spi_led_matrix/

- BME280 傳感器

https://www.pi4j.com/examples/jbang/bme280_temperature_humidity_pressure/

- Pixelblaze 輸出擴展器

https://www.pi4j.com/examples/jbang/pixelblaze_output_expander/

- 控制 LED 矩陣

https://www.pi4j.com/examples/jbang/pixelblaze_output_expander_image/

- 帶有 JavaFX UI 的 LED 燈帶

https://www.pi4j.com/examples/jbang/pixelblaze_output_expander_javafx/

使用 JBang,我們可以擁有一個可以執(zhí)行的單源 Java 文件,而無需完整的 Maven 或 Gradle 項目。我們甚至不需要編譯任何東西!

JBang 是一種簡單運行 Java 文件的好方法,可以幫助您在 Raspberry Pi 上快速開始使用 Pi4J,并且可以成為嘗試電子產(chǎn)品和 Java 的理想入門方法。

結語

當腳本語言的便捷遇上Java的類型安全,當傳統(tǒng)嵌入式語言的控制力碰撞JVM的生態(tài)紅利,這場工具鏈的范式轉移究竟會走向何方?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    20

    文章

    2988

    瀏覽量

    109455
  • GPIO
    +關注

    關注

    16

    文章

    1280

    瀏覽量

    54024
  • 樹莓派
    +關注

    關注

    121

    文章

    1997

    瀏覽量

    107404
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    樹莓電腦能玩網(wǎng)游嗎?

    其實接觸之初就想問了。樹莓電腦連接七寸屏能玩網(wǎng)游嗎?比如說什么QQ自由幻想。LOL什么的。
    發(fā)表于 09-09 17:41

    樹莓pico入門學習筆記(一)相關資料推薦

    樹莓pico入門學習筆記選擇自己熟悉的編程語言樹莓pico提供C/C++和micropyth
    發(fā)表于 07-01 09:28

    如何快速使用C/C++開發(fā)樹莓GPIO功能

    1.前言借助Bcm2835庫可以快速使用C/C++開發(fā)樹莓GPIO功能,像玩單片機一樣玩樹莓
    發(fā)表于 02-08 07:15

    怎樣去解決RK3588 GPIO的開發(fā)問題呢

      問題描述及復現(xiàn)步驟:gpio開發(fā),沒有找到教程中的頭文件rockchip.h,以及/rk3588-firefly-demo.dtsi  個人 只用過樹莓
    發(fā)表于 09-13 17:18

    樹莓gpio應用

    樹莓現(xiàn)在越來越火,網(wǎng)上樹莓的資料也越來越多。樹莓源自英國,國外嵌入式開源領域具有良好的分享
    發(fā)表于 11-09 15:10 ?4359次閱讀

    樹莓gpio接口及編程方法

    樹莓現(xiàn)在越來越火,網(wǎng)上樹莓的資料也越來越多。樹莓源自英國,國外嵌入式開源領域具有良好的分享
    發(fā)表于 11-22 11:54 ?6.6w次閱讀

    樹莓gpio有什么用_怎么用

    樹莓現(xiàn)在越來越火,網(wǎng)上樹莓的資料也越來越多。樹莓源自英國,國外嵌入式開源領域具有良好的分享
    發(fā)表于 12-06 09:05 ?1.6w次閱讀

    如何玩轉樹莓

    技術大拿帶你玩轉樹莓,聊聊樹莓的那些事!
    的頭像 發(fā)表于 05-30 15:03 ?3954次閱讀
    如何<b class='flag-5'>玩轉</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>

    樹莓是什么樹莓的簡單介紹

    要想玩轉樹莓,首先得知道樹莓是什么。在本節(jié)中,作者將帶領大家揭開樹莓
    發(fā)表于 05-15 18:09 ?31次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>是什么<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的簡單介紹

    樹莓使用C/C++基于Bcm2835操作GPIO學習記錄

    1.前言借助Bcm2835庫可以快速使用C/C++開發(fā)樹莓GPIO功能,像玩單片機一樣玩樹莓
    發(fā)表于 12-04 18:51 ?8次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>使用<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>基于Bcm2835操作<b class='flag-5'>GPIO</b>學習記錄

    樹莓pico入門學習筆記(一)

    樹莓pico入門學習筆記選擇自己熟悉的編程語言樹莓pico提供C/C++和micropyth
    發(fā)表于 12-17 18:42 ?21次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>pico入門學習筆記(一)

    超實用!玩轉樹莓攻略!

    如果你使用樹莓派來開發(fā)的話,C語言或者Python語言都是一個比較不錯的選擇。在開始玩轉你的樹莓前,可以先看看如何快速入門; Raspbe
    的頭像 發(fā)表于 11-01 20:30 ?2981次閱讀
    超實用!<b class='flag-5'>玩轉</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>攻略!

    樹莓和單片機的優(yōu)缺點是什么

    )接口,樹莓可以連接各種傳感器、執(zhí)行器和其他外圍設備。 易于編程 :樹莓支持多種編程語言,如Python、C++
    的頭像 發(fā)表于 08-30 18:21 ?2872次閱讀

    樹莓gpio有什么用,樹莓gpio接口及編程方法

    一、樹莓GPIO的用途 樹莓(Raspberry Pi)是一款小巧、功能強大的單板計算機,廣泛應用于編程教育、物聯(lián)網(wǎng)項目、家庭媒體中心等
    的頭像 發(fā)表于 10-22 18:09 ?2659次閱讀

    GPIO樹莓中的應用

    樹莓(Raspberry Pi)是一款由英國樹莓基金會開發(fā)的信用卡大小的單板計算機,它具有強大的功能和靈活性,可以用于各種項目和應用。通用輸入輸出(
    的頭像 發(fā)表于 01-09 09:41 ?821次閱讀
    主站蜘蛛池模板: 午夜撸| 五月婷婷色 | 免播放器av少妇影院 | 三级网站免费 | 色聚网久久综合 | 一本到卡二卡三卡免费高 | 色伊伊| 欧美色88 | 黑人又大又粗又长又深受不了 | 3344a毛片在线看 | 国产乱码精品一区二区三区四川人 | 日本成人在线网址 | 亚洲性人人天天夜夜摸 | 在线视频 一区二区 | 香蕉视频啪啪 | 黄色香蕉网站 | xxx黄色片| 男男全肉高h腐文 | 亚洲区中文字幕 | 性黄视频 | 亚洲精品视频在线看 | 五月婷婷欧美 | 一级看片免费视频 | 777奇米影视笫四色88me久久综合 | 男人天堂伊人网 | 久久国产视频一区 | 伊人电影综合网 | 三级在线观看国产 | 中文天堂最新版www 中文天堂最新版在线精品 中文天堂最新版在线中文 中文天堂最新版资源新版天堂资源 | 丁香婷婷六月天 | 欲色啪| 一区二区在线看 | 极品国产一区二区三区 | 国产成人一区二区在线不卡 | 嫩草影院在线入口 | 天堂中文资源在线地址 | 97人人看 | 国产床戏无遮掩视频播放 | 六月婷婷激情 | 男人j桶进女人免费视频 | 午夜看片福利 |