我得到了两个bme680环境传感器和一个ESP32板,我必须制作一个web界面,在那里我可以看到记录的值。我使用ESP32板作为网络服务器。我还试图创建一个图表的数据显示。我的问题是,我不知道如何将数据从html页面推送到csv文件,所以我可以在绘图过程中使用存储到csv文件中的数据。
你可以用javascript来做,也可以用javascript读取HTML表格或任何东西并将其转换为数组,并让浏览器处理CSV文件
纯javascript简短示例:(因为主板内存有限)
注意:由于浏览器的限制,这段代码现在不能在这里工作,请在您的浏览器上单独尝试
<html>
<head>
<script>
const rows = [
["name1", "city1", "some other info"],
["name2", "city2", "more info"]
];
let csvContent = "data:text/csv;charset=utf-8,";
rows.forEach(function(rowArray) {
let row = rowArray.join(",");
csvContent += row + "rn";
});
var encodedUri = encodeURI(csvContent);
window.open(encodedUri);
</script>
</head>
</html>
这里有更多的例子
如果你不喜欢重新发明轮子和内存空间对你来说无关紧要可以使用javascript库,如Papaparse:
// Parse CSV string
var data = Papa.parse(csv);
// Convert back to CSV
var csv = Papa.unparse(data);
// Parse local CSV file
Papa.parse(file, {
complete: function(results) {
console.log("Finished:", results.data);
}
});
// Stream big file in worker thread
Papa.parse(bigFile, {
worker: true,
step: function(results) {
console.log("Row:", results.data);
}
});