问题标签 [x10]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3407 浏览

automation - 通过 X10 将 Arduino 连接到电灯开关

我有兴趣制作一个蓝牙供电的 Arduino 灯开关,当我进入我的办公室(通过我的 iPhone)时它会感应并自动打开灯。我的理解是,最安全的方法(即不玩220V电灯开关电源)是用X10遥控/电力线系统翻转电灯开关。

将X10连接到 Arduino 的库可以在X10 Library中找到。

连接到 Arduino 的盒子(需要焊接)可以在Connecting Arduino to Lightswitch via X10中找到。

我无法弄清楚如何使用 X10 库以及如何对其进行编码以打开电灯开关。我有一个部分,一旦蓝牙配对,它就会发送 X10 命令。问题是我不知道要发送哪个 X10 命令。

0 投票
1 回答
343 浏览

c# - 使用云平台的家庭自动化

我正在尝试制作下一个应用程序的原型,在开始之前,我想知道您对此的反馈。

用户将能够使用手机远程控制他的家。

首先,手机将向云平台发送请求,它将进行一些身份验证(用户名、IP 地址、密码)并将用户请求发送到他的办公室笔记本电脑(家庭存储 Web 服务 WCF),这个将让 CM15 完成剩下的工作(打开/关闭灯,...)

只是想知道这件事对你来说是否正确。

家庭自动化

0 投票
0 回答
324 浏览

video - USB 视频适配器 - wdm 命令嗅探/欺骗

我有一个 x10 va11a 复合->usb 适配器,效果很好。我需要另一个,所以我买了另一个,但发送的是 va12a。他们显然不再制造 va11a。va12a 升级到 720x480 捕获分辨率 @30fps,而不是 va11a 的 640x480。

然而,不仅仅是决议发生了变化。VLC,或其他类型的软件(amcap,webcamxp)可以打开va11a并接收视频。打开 va12a 会产生静态的黑色,带有一些波浪状的水平白线。我已经检查了所有可能的地方,不同的设置,谷歌搜索 va12a vlc,但似乎没有任何效果。

有趣的是,如果我用静态打开 vlc 中的 va12a,然后同时打开 x10 的“先锋”软件来查看凸轮,那么静电就会消失,我可以在 vlc 和先锋中看到视频。尽管如此,这两个软件似乎在争夺视频帧,并且它们都以频闪效果闪烁,因为一个软件获取帧而另一个软件没有,并且来回切换。

因此,我正在寻找一种方法来准确了解 vangard 正在做什么以使适配器能够生成视频,无论是在幕后切换其他软件中不可用的交叉开关源,还是向适配器发送一些命令,无论它是什么或许。然后我想在不打开 vangard 的情况下发送这些命令或交叉开关,以便能够让 va12a 在其他程序(如 vlc 或 webcam xp)中工作。

有人对从哪里开始有任何想法吗?我虽然 usbsnoop 可能适合嗅探 usb 命令,但它看起来很神秘,我找不到太多文档。

谢谢,迈克

0 投票
1 回答
839 浏览

c# - 逆向工程串行命令

tl;博士;

我需要做的是对串行命令进行逆向工程,这样我就可以弄清楚人类可读值或二进制值是如何被序列化为原始串行命令的。

IE:


我正在为一个开源自动化项目做一个包装器。

有一种发送raw命令的方法,理论上可以将多个命令串在一起。
我已经嗅探了一些串行命令,这就是它们的样子。

我需要做的是对此进行逆向工程,以便我可以通过编程方式进行串行调用,或者更好的是,弄清楚人类可读值或二进制值是如何被序列化为原始串行命令的。

是的,我可以嗅探所有命令并分别存储每个值,但我想知道这是如何完成的。

这是我目前的观察。

  1. 通话分为两个。
    • 04启动并告诉设备要查找的内容
    • **告诉系统哪个设备正在被控制 [ HouseCode& DeviceCode]
    • 返回十六进制55以告诉您它已准备好
    • 06被启动并告诉设备会发生什么
    • **告诉系统房屋代码和命令 [ HouseCode& FunctionCode]
      • **是可选发送的,并且是一个介于 0 和 100 之间的值,用于参考暗淡级别
    • hex55被再次发送回来告诉你它已经准备好了
  2. 第二对使用第一个字符作为字母代码(HouseCode= A、B、C 等),第二个字符是地址(DeviceCode= 1、2、3 等)
    • 有了这些信息,我个人的猜测是......
      • 6必须直接对应A
      • e必须直接对应B
  3. 第四对开头与HouseCode第二对相同
  4. 第四对以FunctionCode
    • 1 = 全部开启
    • 2 = 开
    • 3 = 关闭
    • 4 = 暗淡
    • 5 = 明亮
    • 6 = 全部关闭
    • ETC..
  5. 第五对仅显示在亮/暗命令上,代表 0 到 100 之间的数字

最后,在文档中,每个命令都与二进制数据相关,因此可能不是转换A1hex,而是转换binaryhex


有谁知道我将如何实现这一目标?

0 投票
3 回答
1422 浏览

android - 除了谷歌市场,还有其他安装安卓应用的方法吗?

我有一部旧的备用Android手机(我不能说它的名字,因为由于某些愚蠢的原因它被标记为语法错误)只有android 平台 2.1(Eclair)并且只有市场而不是播放(谷歌),但我不能登录市场,因为它总是说我的密码错误。所以我找到了其他方法来安装它们。

那么如何在没有市场的情况下安装应用程序?

我已经尝试将手机恢复出厂设置,但它仍然说谷歌邮箱密码错误。所以我必须找到其他方法来安装应用程序。

0 投票
1 回答
538 浏览

c++ - 通过 X10 接收和解码曼彻斯特码

你好,我正在做一个项目,我需要通过 X10 从一个微控制器(特别是 ATmega32)向另一个微控制器(同样是 ATmega32)发送一些数据。两者的时钟频率为 3.8646 MHz,并在 STK500 上运行。

看起来我正确地发送了我的数据,但我的解码器似乎无法解码数据。

首先,当我通过 X10 接收到我的数据(1 个字节)时,我将每个曼彻斯特位保存在一个无符号字符数组中(1/0 作为起始位,其余是数据)。然后我将数据保存在另一个无符号字符数组(称为缓冲区)中。出于测试目的,我通过 UART 在终端上显示该数据。相关代码可以在这里找到。

这似乎有效,例如,如果发送器发送十进制 150,终端显示 [120 0 0 120 0 120 120 0](由于某种原因,“1”不会保存为“1”,但“0”会保存作为'0'),这表明数据已正确发送。

但是,如果我随后尝试将缓冲区解码为单个 char 字节,我永远不会得到预期的结果。在下面的代码中,我再次将接收到的数据保存在缓冲区中,然后尝试在终端和 STK500 上的一些 LED 上显示它们。

在终端上我得到 128 和 120,而在 STK500 上只有 led7 和 led1 亮起,这表明我的解码已关闭。但是,如果尝试通过 Atmel Studio 进行调试,变量字节总是会出现我选择的正确值。

我真的可以使用一些帮助,因为我无法弄清楚发生了什么。

writeAllLEDs()

发送字符()

0 投票
1 回答
172 浏览

c# - C# 解码 X10 代码

我喜欢在 Windows 10 IoT 上使用 C# 在 Raspberry Pi 上解码 X10 代码,但我没有使用 RF 解码的经验,所以这对我来说是新领域。

我遇到了这篇文章,并尝试将其转换为 C# 代码,但没有成功。有谁知道如何使用 C# 正确解码此 X10 代码,或者有人可以指出正确的协议规范。

这是我目前正在使用的代码,但是ValueChanged没有调用事件。

0 投票
2 回答
136 浏览

java - 将 x10 对象导入 java

我们需要将 x10 arraylist[string] 作为对象传递给 Java 方法。我们尝试的是这个。Java接口中的方法签名如下。

我们在 X10 类中实现该方法,如下所示。

我们得到一个编译错误,说接口需要一个类型的对象,x10.util.ArrayList但我们正在发送一个类型为x10.util.ArrayList[x10.lang.String]` 的对象。

0 投票
1 回答
81 浏览

x10 - 在 x10 中调用此排序功能的正确方法是什么?

我正在尝试使用 qsort() 对 x10 中的数组进行排序。

首先我正在编写顺序代码,所以没有问题。现在,我正在尝试并行化我的代码。现在我需要从不同的地方运行这个排序功能。

item_order 是地点 0 的 Rail[Long],而 jump 是其他地点 x 的 Rail[Long]。

实现这一目标的最佳方法是什么?