ZigBee Mesh(系列 2)和 DigiMesh(系列 1)哪个更好?
我已经阅读了无线网状网络,ZigBee 与 DigiMesh(PDF 格式),但我注意到使用 DigiMesh 有很多优点,相反,我希望阅读系列 2 比系列 1 更好。
第一次海报,所以如果我做错了什么,我道歉!
所以我正在尝试使用Raspberry Pi设置无线网状网络,使用Edimax EW-7811Un WLAN适配器和batman-adv协议.
我尝试过以下基本设置指南:
http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide
http://mindofdes.blogspot.co.uk/2013/ 02 /覆盆子-PI-raspbian-无线and.html
不幸的是,当我到达需要从另一个节点ping一个节点时,我得到
'目标主机无法访问'.
运行'batctl o'命令显示'范围内没有蝙蝠侠节点',但是当运行'iwconfig'时,两个节点似乎都与我设置的网络相关联,当运行'iwlist wlan0 scan'时,网络我'设置在两个节点上显示为单元格.
我现在不知道如何继续.我已经阅读了一些关于linux wlan适配器驱动程序的临时支持问题的文章.我的适配器正在使用RTL8192CU驱动程序.这可能是问题的原因吗?
任何帮助将非常感激.如果您有任何需要,请告诉我.
Ps我看了下面的帖子,但遗憾的是没有帮助:
Raspberry Pi ad-hoc网络
编辑:/ etc/network/interfaces的内容:
两个当前设置节点都具有相同的内容:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Run Code Online (Sandbox Code Playgroud)
编辑:两个节点的/etc/wpa_supplicant/wpa_supplicant.conf的内容:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
Run Code Online (Sandbox Code Playgroud)
编辑:两个节点的ifconfig,iwconfig和路由:
节点1
ifconfig
wlan0 Link encap: Ethernet HWaddr 80:1f:02:9b:bc:6c
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:1 overruns:0 frame:0
TX …Run Code Online (Sandbox Code Playgroud) 我有一个使用 clang 在我的 Mac 上编译的静态库(C++)(例如,libmylib_DARWIN.a对于2 种架构)(如果有任何相关性的话)。libmylib_LINUX.aApple LLVM version 9.0.0 (clang-900.0.39.2)
目前,有两个问题:
它还显示用于存档的目标文件的名称
otool -Iv libmylib_DARWIN.a
Archive : libmylib_DARWIN.a
libmylib_DARWIN.a(firstobjectfile.cpp.o)
libmylib_DARWIN.a(secondobjectfile.cpp.o)
....
我想从此库中删除调试符号和存档文件名。我想知道是否有一种方便的方法可以在不改变我的构建配置的情况下做到这一点。
strip同时为 DARWIN 和 LINUX 构建的库执行此操作?我还有什么要注意的吗?strip似乎没有删除存档文件名SO上也有一些类似的问题;然而,我发现的那些涉及 iOS、Objective C,不谈论多平台,也不提及存档名称。
我在将GCC编译enable_if应用于模板化类方法的返回值时遇到问题。使用Clang时,我可以enable_if在enumtemplate参数上使用表达式,而GCC拒绝编译此代码。
这是问题描述,初始代码及其后续修改,它们试图使我和编译器满意(不幸的是,不是同时)。
我有一个非模板类Logic,其中包含一个模板类方法computeThings(),其具有enum Strategy 作为一个它的模板的参数。中的逻辑computeThings()取决于编译时Strategy,因此if constexpr是实现的一种合理方法。
#include <iostream>
class Logic {
public:
enum Strategy { strat_A, strat_B };
// class A and class B are dummy in this example, provided to show that there are several template
// parameters, and strategy selection effectively results in
// partial (not full) templated method specification
template <class A, class B, Strategy strategy>
int …Run Code Online (Sandbox Code Playgroud) 我试图在我的 cypress 测试中使用 fakerjs 来为我的表单随机生成假数据。我试过导出它support/index.js,但没有用。
是否有任何标准方法可以将 fakerjs 添加到所有 cypress 规范中,而不是将其添加到每个规范文件中?
我正在 Windows 自托管代理上的 Azure Pipelines 上工作。我需要我的管道来运行 PowerShell 脚本,如果脚本成功,则下一阶段进行部署,否则任务失败,我们必须修复某些内容并恢复任务
我将描述管道从一开始就做什么,因为它可能有助于理解。
首先,管道调用带参数的模板:
stages:
- template: release.yml@templates
parameters:
dbConnectionString: ''
Run Code Online (Sandbox Code Playgroud)
模板release.yml@templates如下:
parameters:
- name: 'dbConnectionString'
default: ''
type: string
Run Code Online (Sandbox Code Playgroud)
第一阶段只是简单地构建项目,工作正常
stages:
- stage: Build
- job: Build_Project
steps:
- checkout: none
- template: build.yml
Run Code Online (Sandbox Code Playgroud)
第二阶段取决于前一阶段的结果。对于模板的某些情况,没有要检查的数据库,因此我仅提供一个参数来运行作业。然后,我只想在 DBCheck 成功或没有参数的情况下运行 CompareFile 脚本。
- stage: Deploy
dependsOn:
- Build
condition: eq( dependencies.Build.result, 'Succeeded' )
jobs:
- job: CheckDb
condition: ne('${{ parameters.dbConnectionString }}', '')
steps:
- checkout: none
- template: validate-db.yml@templates
parameters:
ConnectionString: '${{ parameters.dbConnectionString }}'
- job: …Run Code Online (Sandbox Code Playgroud) 在P1881提案中,提出了 C++ 代码的epoch(在模块级别)的概念。此类功能可以允许在模块级别自定义 C++ 语法和 C++ 行为,而不必破坏向后兼容性。提案中给出了更详细的动机。
版本 1:没有时代,一切都编译正常
module ParticleMovement;
export void move(Particle&, float x, float y);
void moveExample()
{
Particle p{};
move(p, 3.42, 2.49); // OK
}
Run Code Online (Sandbox Code Playgroud)
版本 2 :(epoch 2023假设在其中禁用隐式转换),代码格式错误:
epoch 2023; // Module-level switch
module ParticleMovement;
export void move(Particle&, float x, float y);
void moveExample()
{
Particle p{};
move(p, 3.42, 2.49); // Compilation error
move(p, 3.42f, 2.49f); // OK, no implicit conversions
}
Run Code Online (Sandbox Code Playgroud)
这绝对看起来是一个有趣的提议,并且与简单地指定 compile 开关非常不同 …
考虑一个func非常重要的功能模板.它可以用T=Type1其他类型实例化.部分功能逻辑依赖于T它的实例化.
可以明确地使用if constexpr(代码B)或使用香草if代替(代码A),而编译器可能优化代码.
但是,我想知道,没有constexpr(代码A)的实现有何不同?编译器是否能够if在实例化时检测(在代码A中)哪个分支在编译时使用?可它仍然(换码)生成代码效率不高?
代码A. 没有 if constexpr:
template<class T>
void func(T argument)
{
// some general type-independent logic
if (std::is_same<Type1,T>::value)
{
// do something
}
else
{
// do something else
}
// some general type-independent logic
}
Run Code Online (Sandbox Code Playgroud)
代码B. 用 if constexpr:
template<class T>
void func(T argument)
{
// some general type-independent logic
if constexpr (std::is_same<Type1,T>::value)
{
// …Run Code Online (Sandbox Code Playgroud) 我有几种方法
noexceptnoexcept如何编写单元测试以检查noexcept正确标记的方法?
原因:确保将来在其他开发人员或本人的邪恶版本重构期间不会更改这些属性。
当前,我使用CMake / CTest并将手写的可执行文件添加到测试套件中。
我是 esp32 编程新手。我想尝试做一个服务器。
我尝试使用ESPAsyncWebServer 库。
我收到这个错误
Run Code Online (Sandbox Code Playgroud)In file included from C:\Users\User\Documents\Arduino\server\server.ino:2:0: Multiple libraries were found for "WiFi.h" sketch\ESPAsyncWebServer.h:33:22: fatal error: AsyncTCP.h: No such file or directory Used: C:\Users\User\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi compilation terminated. Not used: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\libraries\WiFi exit status 1 Error compiling for board ESP32 Wrover Module.
有人可以帮助我并告诉我安装自由主义者的正确方法是什么,因为我感觉我做错了。
我正在处理数据并希望为这些数据生成异常检测模型。该数据仅包含三个特征:Latitude、Longitude和Speed。我将它标准化,然后应用t-SNE然后再次标准化。有没有标记或目标数据。所以,它应该是一个无监督的异常检测。
我无法共享数据,因为它是私有的。但是,看起来是这样的:

数据中存在一些异常值,例如异常值:

这是数据的最终形状:

如您所见,数据有点复杂。当我手动搜索异常实例时(通过查看特征值),我观察到红色圆圈内的实例(下图中)应该被检测为异常。
红色区域内的实例应该是异常的:

我曾经OneClassSVM检测异常。这里是参数;
nu = 0.02
kernel = "rbf"
gamma = 0.1
degree = 3
verbose = False
random_state = rng
Run Code Online (Sandbox Code Playgroud)
和模型;
# fit the model
clf = svm.OneClassSVM(nu=nu, kernel=kernel, gamma=gamma, verbose=verbose, random_state=random_state)
clf.fit(data_scaled)
y_pred_train = clf.predict(data_scaled)
n_error_train = y_pred_train[y_pred_train == -1].size
Run Code Online (Sandbox Code Playgroud)
这是我最后得到的:

这是检测到的异常OneClassSVM和红色实例被检测为异常:

因此,如您所见,该模型将许多实例预测为异常,但实际上,这些实例中的大多数应该是正常的。
我为nu,gamma和尝试了不同的参数值degree。但是,我找不到合适的决策线来仅检测真正的异常。
c++ ×5
c++17 ×3
mesh-network ×2
adhoc ×1
c++-modules ×1
cmake ×1
cypress ×1
enable-if ×1
esp32 ×1
faker ×1
gcc ×1
if-constexpr ×1
networking ×1
noexcept ×1
otool ×1
pragma ×1
raspberry-pi ×1
scikit-learn ×1
standards ×1
svm ×1
templates ×1
ui-testing ×1
unit-testing ×1
wireless ×1
xbee ×1
zigbee ×1