标签: android-things

Android Things Pin命名约定

为什么不同的主板在Android Things中具有不同的GPIO名称?

例如,在PI覆盆子3,还有BCM6,而英特尔爱迪生与Arduino的突破有IO12,IO13

android android-things

2
推荐指数
1
解决办法
333
查看次数

如何将运行Android Things的Raspberry Pi 3连接到wifi网络?

我用Android Things图像刷了我的Raspberry Pi 3,我无法将它连接到我的wifi网络.我已经运行了adb设备,但没有得到回应.

raspberry-pi iot raspberry-pi3 android-things

2
推荐指数
1
解决办法
4312
查看次数

Android Things:连接到Raspberry Pi 3

新手总数,我有一个Raspberry Pi,并已启动Android Things磁盘映像并启动它,但我无法从运行Android StudioWindows 10 PC ,通过以太网或USB 连接到它?该屏幕上有一个绿色和灰色"androidthings"的标志,但是他说"未连接".adb.exe

如果我连接USB电缆并使用该adb devices命令,则不会检测到任何内容.如果我连接以太网电缆并使用adb connect android.local命令,它说unable to connect to android.local:5555

我尝试了两个具有相同结果的Pi.

networking raspberry-pi3 android-things

2
推荐指数
1
解决办法
4299
查看次数

以编程方式重新启动Android Things

我想使用此代码重新启动运行Android Things的RPI3:

public static void Reboot()
{
    try {
        Process proc = Runtime.getRuntime().exec(new String[]{"su", "-c", "reboot"});
        proc.waitFor();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

java.io.IOException:无法运行程序"su":error = 13,权限被拒绝

我向清单添加了所有权限

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.SET_TIME_ZONE"/>
<uses-permission android:name="android.permission.SHUTDOWN"/>
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

java runtime.exec android-things

2
推荐指数
2
解决办法
4721
查看次数

设置Android Things时区

在Raspberry Pi上安装Android Things后,时间不正确.我的时区是GMT + 2,使用date +%Z我看到RPi的时区是GMT.我该如何设置时区?

settings timezone raspberry-pi3 android-things

2
推荐指数
1
解决办法
2005
查看次数

如何创建Android Things捆绑并推送OTA?

有人成功创建了Android Things Bundle并将其推上了OTA吗?

在Android Things的控制台上,有一个为OTA 创建捆绑包的页面.

我正在试图弄清楚如何做到这一点.我将只是一个单一的APK文件main.apkZIP文件中.然后我试着把它推到附近的RPi.但是main.apk不会在设备上启动.

我尝试过的事情:

  • Empty bundleThings Build ID= 下载NIH40K
  • 创建一个Bundle并将其推送到设备 OTA UPDATES
  • FACTORY IMAGE使用新创建的包创建新的
  • 仍然我的应用程序将无法启动
  • 我已经检查过,我的应用程序的MainActivity有action = MAIN和category = IOT_CATEGORY
  • 尝试从我的笔记本电脑上运行应用程序adb connect Andorid.local,它按设计工作

但我无法进行OTA更新.有人成功了吗?

这是我在Github上的项目:https: //github.com/ViliusKraujutis/Android-Things-Demo

谢谢

android ota iot android-things android-things-console

2
推荐指数
1
解决办法
1812
查看次数

Android事物:在Raspberry Pi上通过USB ADB

我正在玩Raspberry Pi 3 Model BAndroid Things.我可以配置的一切(连接超过以太网,然后重新连接过的Wi-FiAndroid.local)和调试应用程序.但是,有时在我旅行时通过Wi-Fi进行调试并不方便,我必须更换Wi-Fi网络或根本没有Wi-Fi连接.

我知道有串口调试控制台,但它似乎是用于获取日志和shell命令,而不是用于调试.

有没有机会通过USB线直接调试,就像任何其他Android设备,如智能手机/平板电脑?

usb adb raspberry-pi3 android-things

1
推荐指数
2
解决办法
3631
查看次数

不同的NFC ID和RFID UID值

我正在为带有RFID阅读器RC522的Android Things设备开发软件.我使用这个库:https://github.com/Galarzaa90/android-things-rc522

我的任务是查询RC533 RFID阅读器:

protected Boolean doInBackground(Object... params) {
    mRc522.stopCrypto();
    while (true) {
        ........
        byte[] uuid = mRc522.getUid();
        return mRc522.selectTag(uuid);
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的活动中,我使用它将UID值转换为字符串:

String tagRC522 = toHexString(mRc522.getUid(), "")
Run Code Online (Sandbox Code Playgroud)

我们生态系统中的另一个应用程序用于扫描Android智能手机上的NFC标签:

public void onNewIntent(Intent intent) {
    Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

    String tagNFC = bytesToHex(tagFromIntent.getId());
    ....
}
Run Code Online (Sandbox Code Playgroud)

Play商店中的其他应用程序(例如NFC工具)提供与上述智能手机应用程序代码相同的结果.

我现在面临的问题是tagRC522(使用RC522的Android Things设备上的值)与值tagNFC(在智能手机应用程序中)不匹配.

Tag1  
    tagRC522 = 45DOD86528
    tagNFC   = 45DOD865

Tag2 
    tagRC522 = 3567500103
    tagNFC   = 35675001

Tag3
    tagRC522 = 88046f12F1
    tagNFC   =   046F12CA193A84

Tag4
    tagRC522 = …

rfid serial-number uniqueidentifier nfc android-things

1
推荐指数
1
解决办法
577
查看次数

Android(Things):如何在程序结束前进行清理?

我有一个运行 Android Things 的 Raspberry Pi 3。为简单起见,假设它仅旋转步进电机。

为了再次简化事情,步进电机通过逐个线圈地告诉哪些线圈充电和哪些不充电来旋转。在 Raspberry Pi 中,您将四个输出引脚连接到步进电机的四个输入引脚。然后,您按连续顺序逐个启动引脚,每次运行之间间隔几毫秒。

如果我通过按停止“MainActivity”来停止 Android Studio 中的程序,程序代码将被终止,但 Raspberry Pi 中的输出引脚仍保持充电状态。就我而言,如果我在 Android Studio 中停止该程序,我的一个步进电机线圈仍然带电(并变得过热)。

问题:在程序关闭之前在 Android 中进行清理的最佳方法是什么?

我尝试过 onDestroy() 和 onPause() 但都不能保证在程序关闭时调用它们。(他们也从未在我的情况下工作过)。

我还尝试添加关闭挂钩,但即使这样也不会关闭输出引脚。shutdownhook 位于 MainActivity 的 onCreate() 方法中,如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Runtime.getRuntime().addShutdownHook(new Thread(){
        @Override
        public void run(){
            try{
                mRobotics.stopMotor();
            } catch (Exception e){
                // Ignore error
            }
        }
    });
// onCreate continues...
Run Code Online (Sandbox Code Playgroud)

stopMotor() 方法如下所示:

public void stopMotor(){
    this.motorHandler.removeCallbacksAndMessages(null);
    try {
        mStepper1.setValue(false);
        mStepper2.setValue(false);
        mStepper3.setValue(false);
        mStepper4.setValue(false);

    } catch (Exception e){
        // …
Run Code Online (Sandbox Code Playgroud)

java android process terminate android-things

1
推荐指数
1
解决办法
288
查看次数

Android的东西(Raspberry Pi 3)BluetoothAdapter.startLEScan(..)

我正在尝试:

BluetoothAdapter.getDefaultAdapter().startLeScan()

我添加了所有必需的权限(我认为):

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

请注意,Android内容不支持运行时权限,无论它是否基于Android 7.0运行

而我在日志中得到的是:

java.lang.SecurityException: Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission to get scan results
Run Code Online (Sandbox Code Playgroud)

根据文档,它应该能够开始扫描具有所有权限,但由于某种原因它不想.
0.4.0-devpreview在Raspberry Pi 3上使用Android Things

android bluetooth android-things

0
推荐指数
1
解决办法
863
查看次数